Outline
1. Definition of a CO problem (a reminder)
2. Integer Linear Programming (ILP) as an example of CO
3. CO problems: formulating ILP models
A general combinatorial (discrete) optimisation problem (COP): given a discrete set of feasible solutions S and a function f that characterises solution quality, find the best possible solution:
Integer Linear Programming (ILP) Models
ILP's are identical to LP's except that we require the variables to take integer values in an optimal solution.
Pure Integer Linear Programming: all variables must take integer values.
Mixed Integer Linear Programming (MILP): specified variables must take integer values; the remaining variables may take fractional values.
ILP’s and MILP’s arise in combinatorial optimisation problems such as:
- timetabling (e.g. classes or examinations)
- staff rostering
- routing (e.g. vehicles or messages)
- scheduling (e.g. job sequencing)
- location (e.g. facility location)
Example 1: Knapsack Problem
We are given a knapsack of capacity 𝑏 = 100 and 𝑛 = 8 items:
What should we pack from the pool of items to maximise the total value if
Example 2: Assignment Problem
For final year projects, 𝑛 students should be allocated to 𝑚 staff members, 𝑚 ≤ 𝑛. Staff formulate their project ideas and students rank them according to their preferences:
𝑐𝑖𝑗 = {0,1,2,3} is the preference of student 𝑖 to work on a project of a supervisor 𝑗 .
What is the best possible student/supervisor allocation if no more than 𝑏𝑗 students can be assigned to supervisor 𝑗 ?
Example 3: Covering All Characteristics
There are three crews based in city A, and several flights between cities A, B, C, D, E, that should be served by the crews. An airline needs to define one sequence of cities for each crew in such a way that every flight is covered.
It is permissible to have more than one crew on a flight; the extra crew would fly as passengers, but they still will be paid for their time as if they were working.
The cost of assigning a crew to a particular sequence of flights is given in the bottom row of the table (next slide)
The objective is to minimise the total cost of the assignment of three crews that covers all the flights.
Modelling Techniques
Integer variables are often used to represent
Modelling Techniques: Logical Constraints
Modelling Techniques: Logical Implications
Consider an example with five products, A, B, C, D, E. The task is to select which products should be manufactured
Example 4.1:
If product A is manufactured, then at least one of products C, D or E must also be manufactured.
Example 4.2:
If product A is manufactured, then each product C, D and E must also be manufactured.
Example 4.3:
If product A is manufactured, then neither of products C, D or E can be manufactured.
What are the implications and the corresponding inequalities?
Example 5.1:
If either of products A or B (or both) are manufactured, then at least one of products C, D or E must also be manufactured
Similar to Example 4.2 and 4.3, consider the following examples.
Example 5.2:
If either of products A or B (or both) are manufactured, then each product C, D and E must also be manufactured
What are the implications and corresponding inequalities?
Example 5.3:
If either of products A or B (or both) are manufactured, then neither of products C, D or E can be manufactured.
What are the implications and corresponding inequalities
Modelling Techniques: Lower and Upper Bounds
The following example stems from Example 5.1.
Example 6:
Suppose 𝑥𝐴 and 𝑥𝐵 are the amounts of products A and B to be produced and
𝑥𝐴 ≤ 10,
𝑥𝐵 ≤ 8.
If any amount of products A or B is manufactured, then at least one of products C, D or E must also be manufactured.
Modelling Techniques: Disjunctive Constraints
Suppose an ILP formulation has constraints
inequality R1 : 3x+2y ≤ 10
inequality R2 : x+7y ≤ 5
and it is sufficient to satisfy at least one of them, 3x+2y ≤ 10 or x+7y ≤ 5
Example 7: Production Planning
A manufacturing company consisting of two plants intends to introduce up to three new products. The production quantity of each product can be any number, integer or non-integer, but there is an upper limit on the amount of a product that can be sold per week. There are additional constraints imposed by the management team:
Constraint (i): from the three possible new products, at most two should be chosen to be produced;
Constraint (ii): just one of the production plants should be chosen to produce new products. Given the data below, the objective is to choose the products, the plant and weekly production quantities of the chosen products so as to maximise the total profit
Conclusions
- In general, an optimisation problem may have many different ILP formulations.
- The performance of the solution algorithm may essentially depend on the formulation.
- We will study later on how to distinguish between “good” and “bad” formulations.