Constraint Processing and Programming

You are here

Credits
4.5
Department
CS
Types
Elective
Requirements
This subject has not requirements
This course examines the paradigm of constraint programming as a tool for solving combinatorial optimization problems.

Teachers

Person in charge

  • Francisco Javier Larrosa Bondia ( )

Others

  • Mario Martín Muñoz ( )

Weekly hours

Theory
1
Problems
1
Laboratory
1
Guided learning
0.116
Autonomous learning
0

Competences

Technical Competences of each Specialization

Academic

  • CEA1 - Capability to understand the basic principles of the Multiagent Systems operation main techniques , and to know how to use them in the environment of an intelligent service or system.
  • CEA13 - Capability to understand advanced techniques of Modeling , Reasoning and Problem Solving, and to know how to design, implement and apply these techniques in the development of intelligent applications, services or systems.

Generic Technical Competences

Generic

  • CG1 - Capability to plan, design and implement products, processes, services and facilities in all areas of Artificial Intelligence.

Transversal Competences

Reasoning

  • CT6 - Capability to evaluate and analyze on a reasoned and critical way about situations, projects, proposals, reports and scientific-technical surveys. Capability to argue the reasons that explain or justify such situations, proposals, etc..

Objectives

  1. Ability to model optimally a discrete optimization problem and solve it using the proper tools.
    Related competences: CT6, CEA1, CEA13, CG1,

Contents

  1. Problema Solving as Boolean Satisfability
    - Propositional Logic
    - Symbolic manipulation
    - Transformation to CNF
    - Resolution
    - Search
  2. Constraint Programming
    Local consistency
    Global constraints
    Backtracking Search
    Modeling
    Decomposition methods

Activities

Propositional Logic

Theory
4
Problems
4
Laboratory
4
Guided learning
0
Autonomous learning
0
Objectives: 1

Constraint Programming

Theory
8
Problems
8
Laboratory
8
Guided learning
0
Autonomous learning
0
Objectives: 1

Teaching methodology

There will be theory classes to introduce the fundamental theoretical concepts, classes of problems to exercirtar to use, and laboratory classes where you will see the actual technology

Evaluation methodology

Along the course several programming assignments will be evaluated. The last one will be bigger and will count 40% of the grade. The rest will count between 5% and 20% depending on their difficulty.

Previous capacities

Basic Algorithmics