Checking date: 10/09/2021

Course: 2021/2022

Heuristics and Optimization
Study: Bachelor in Computer Science and Engineering (218)

Coordinating teacher: LINARES LOPEZ, CARLOS

Department assigned to the subject: Department of Computer Science and Engineering

Type: Compulsory
ECTS Credits: 6.0 ECTS


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)
Learning results: R1 Knowledge and understanding: Have basic knowledge and compression of scientific and technological fundamentals of computer engineering, as well as a specific knowledge of computer science, and information systems. R5 Engineering Applications: The graduates will be able to apply their knowledge and understanding to solve problems, lead research activities and design devices or processes from the scope of computer engineering according to cost, quality, safety, efficiency, respect for the environment and ethical implications. These skills include knowledge, use and limitations of computer systems, process engineering, computer architectures, computational models, equipment, practical work, technical bibliography and sources of information. Basic and general competences: CGB3 - Ability to understand and dominate the basic concepts of discrete, logical, algorithmic and computational mathematics, and its application for the resolution of engineering problems. CGO9 - Ability to solve problems with initiative, decision making, autonomy and creativity. Ability to know how to communicate and transmit knowledge, and skills of a computer technical engineer. CB1 - Students have demonstrated knowledge and understanding in a field of study that builds upon their general secondary education, and is typically at a level that, whilst supported by advanced textbooks, includes some aspects that will be informed by knowledge of the forefront of their field of study CB3 - Students have the ability to gather and interpret relevant data (usually within their field of study) to inform judgments that include reflection on relevant social, scientific or ethical issues CB5 - Students have developed those learning skills that are necessary for them to continue to undertake further study with a high degree of autonomy Specific competitions: CECRI5 - Knowledge, administration and maintenance of systems, services and computer applications. CECRI6 - Knowledge and applicabilty of the basic algorithmic principles in computer science technologies to design effective solutions and to analyze the suitability and complexity of the algorithms proposed CECRI15 - Knowledge and applicability of the fundamental principles and techniques based on intelligent systems for their practical implementation.
Skills and learning outcomes
Description of contents: programme
1. Dynamic Programming 2. Linear Programming 3. Boolean Satisfiability 4. Constraints Programming 5. Search 6. Stochastic Local 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
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.