Checking date: 21/02/2025


Course: 2024/2025

Heuristics and Optimization
(15976)
Bachelor in Computer Science and Engineering (Plan: 489 - Estudio: 218)


Coordinating teacher: LINARES LOPEZ, CARLOS

Department assigned to the subject: Computer Science and Engineering Department

Type: Compulsory
ECTS Credits: 6.0 ECTS

Course:
Semester:




Requirements (Subjects that are assumed to be known)
Programming (Course: 1 / Semester: 1) Algorithms and Data Structures (Course: 1 / Semester: 2) Logic (Course: 1 / Semester: 2) Discrete Mathematics (Course: 1 / Semester: 2) Artificial Intelligence (Course: 2 / Semester: 2)
Objectives
The objective of this course is to familiarize the student with the fundamental techniques of discrete optimization as well as with the fundamental algorithms for solving satisfiability problems.
Learning Outcomes
RA1.2: Knowledge and understanding of engineering disciplines underlying their specialisation, at a level necessary to achieve the other programme outcomes, including some awareness at their Forefront. RA6.2: Ability to manage complex technical or professional activities or projects in their field of study, taking responsibility for decision making. CB5: Students will have developed the learning skills necessary to undertake further study with a high degree of autonomy. CGB3: Ability to understand and master the basic concepts of discrete mathe- matics, logic, algorithmic and computational complexity, and their application to the resolution of engineering problems. CGO9: Ability to solve problems with initiative, decision-making, autonomy and creativity. Ability to know how to communicate and convey the knowledge, skills and abilities of the profession of Technical Engineer in Computer Science. CECRI6: Knowledge and application of the basic algorithmic procedures of com- puter technologies to design solutions to problems, analysing the suitability and complexity of the proposed algorithms. CECRI15: Knowledge and application of the fundamental principles and basic techniques of intelligent systems and their practical application. CTE2: Ability to know the fundamentals, paradigms and techniques of intelligent systems and to analyse, design and build systems, services and computer applications that use these techniques in any field of application. CTE3: Ability to acquire, obtain, formalise and represent human knowledge in a computable form for the resolution of problems by means of a computer system in any field of application, particularly those related to aspects of computation, perception and performance in intelligent environments.
Description of contents: programme
1. Dynamic Programming 2. Linear Programming 3. Boolean Satisfiability 4. Constraints Programming 5. Search
Learning activities and methodology
* Theory lectures: 1 ECTS. They are aimed at reaching the specific cognitive competences of the subject as much as analysis and abstraction. * Practical lectures: 1 ECTS. They are thought to reach the specific practical skills as much as problem resolution and knowledge applicability * Continuous evaluation: 1,5 ECTS. They will start during the practical sessions but should be completed as homework. They are expected to complete both the cognitive competences and the practical skills including problem resolution and knowledge applicability * Final practice: 2 ECTS. To be done without the direct assistance of a professor, they are aimed to complete and integrate all the specific competences and skills by solving two practical cases. The statements of these problems, the resolution method, the results obtained and its interpretation shall be well documented. * Tutoring: TUTORING. Individualized assistance (individual tutoring) or group (collective tutoring) to students by the teacher. * Final exam: 0,5 ECTS. It strengths and complements the development of both the specific cognitive and procedural capacities.
Assessment System
  • % end-of-term-examination 40
  • % of continuous assessment (assigments, laboratory, practicals...) 60

Calendar of Continuous assessment


Extraordinary call: regulations
Basic Bibliography
  • Frederick S. Hiller and Gerald J. Lieberman. Introduction to operations research. McGraw-Hill. 2005
  • Holger Hoos, Thomas Stützle. Stochastic Local Search: Foundations and Applications. Morgan Kaufmann. 2005
  • Jongen, H. Th.. Optimization Theory. Kluwer Academic. 2004
  • Rina Dechter. Constraint Processing. Morgan Kaufmann. 2003
  • Stefan Edelkamp, Stefan Schrödl. Heuristic Search: Theory and Applications. Morgan Kaufmann. 2012
  • Steven S. Skiena. The Algorithm Design Manual. Springer. 2008
  • Sundaram, Rangarajan K.. A first course in optimization theory. Cambridge University Press. 2006
  • Victor W. Marek. Introduction to Mathematics of Solvability. CRC Press. 2009

The course syllabus may change due academic events or other reasons.