introduction to linear programming - utc heudiasyc

72
Introduction to linear programming

Upload: others

Post on 07-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to linear programming - UTC Heudiasyc

Introduction to linear programming

Page 2: Introduction to linear programming - UTC Heudiasyc

Linear programming

• Overview

– Mathematical and linear programs

– Linear programming and resolution methods;

– Modeling in (integer) linear programming; • Scheduling problems;

• Optimization problems in logistics and transportation

• Examples, exercises.

– Integer linear programming: arborescent methods, examples, exercises.

Page 3: Introduction to linear programming - UTC Heudiasyc

A linear program

• A mathematical program is an optimization problem with an objective (or optimization) function of n-variables satisfying m constraints. If at least one constraint or the objective function are not linear, it is called a non-linear program, otherwise it is a linear program.

Un program is convex if the optimization function is convex and the domain defined by the constraints is also convex : then, any local optimum is also a global optimum and it is achieved at some extreme point of the domain.

A real-valued function f(x) defined on an interval is called convex if the graph of the function lies below the line segment joining any two points of the graph.

A linear program is a convex program.

Page 4: Introduction to linear programming - UTC Heudiasyc

A linear program

• There can be distinguished:

– Decision variables

– Objective (or optimization) function

– Constraints;

– Domain of variables;

Page 5: Introduction to linear programming - UTC Heudiasyc

A linear program

General case

Suppose that a linear program is composed of :

- The objective function of n variables xj (maximization) ;

- All variables take positive values.

- The constraints are linear functions bounded by some constant

That is :

.0...,

;...

...

;...

;.....

,,2,1

2211

22222121

11212111

1

n

mnmnmm

nn

nn

n

j

jj

xxx

bxAxAxA

bxAxAxA

bxAxAxAcs

xczMaxInterpretation :

n activities, m resources…

Page 6: Introduction to linear programming - UTC Heudiasyc

Geometrical interpretation

max: Z = 2x1 + x2

Subject to: x1+2x2 7

x1+x2 5

x1 1 x1 4 xi 0

Page 7: Introduction to linear programming - UTC Heudiasyc

Introduction to linear programming

Linear programming (LP) is a technique for optimization of a linear objective function of variables x1, x2, …xn, subject to linear equality and linear inequality constraints.

• How to solve linear programming :

– The simplex algorithm (1951, 1963), developed by George Dantzig, solves LP problems by constructing an admissible solution at a vertex of the polyhedron and then walking along edges of the polyhedron to vertices with successively higher values of the objective function until the optimum is reached. (CPLEX, EXPRESS-MP, etc.).

– Alternative methods :

• the ellipsoid method by Leonid Khachiyan in 1979

• In 1984, N. Karmarkar proposed a new interior point projective method for linear programming. (Karmarkar's algorithm)

Page 8: Introduction to linear programming - UTC Heudiasyc

Simplex algorithm : basics

The domain formed by linear constraints gives a polyhedron, and the search for optimal solutions can be restricted to extreme points.

The simplex method explores extreme points and improves the value of optimization function in each step.

Advantages :

Efficiency (not polynomial but polynomial-time in average).

Nice theoretical properties (duality).

Page 9: Introduction to linear programming - UTC Heudiasyc

Simplex algorithm : duality

Primal :

Max c1x1 + c2x2

s.t.:

A11x1 + A12x2 b1;

A21x1 + A22x2 = b2;

x1 0 and x2 unsigned;

Dual :

Min b1y1 + b2y2

s.t.:

A11y1 + A21y2 c1;

A12y1 + A22x2 = c2;

y1 0; y2 unsigned;

Transformation rules :

Take the transposed matrix A,

the right hand terms become coefficients of the objective function… etc.

Page 10: Introduction to linear programming - UTC Heudiasyc

Simplex algorithm: duality

Proposition. If x is feasible for the primal (maximum) problem and if y is feasible for its dual, then cTx ≤ yTb.

Proof. cTx ≤ yTAx ≤ yTb. The first inequality follows from x ≥ 0 and cT≤ yT. The second inequality follows from y ≥ 0 and Ax ≤ b.

Economic interpretation:

- Estimate the cost/price of resources… - Estimate the profit increasing when changing the right hand terms;

Sensibility analysis

Page 11: Introduction to linear programming - UTC Heudiasyc

A simple example (I)

Example. Determine the quantities to be produced such that all the production constraints are satisfied and the benefit is maximized. We suppose that two products A and B can be produced, each of them passing through cutting and packing stages, respectively (C) and (P) :

Cutting Packing

Necessary time to produce 1 unity of A 2 hours 3 hours

Necessary time to produce 1 unity of B 2 hours 1 hours

Availability in working hours 200 hours 100 hours

The unitary benefits for A et B are respectively 20 € and 10 €.

Page 12: Introduction to linear programming - UTC Heudiasyc

Primal PL :

Max 20A + 10B

Subject to :

2A + 2B 200;

3A + B 100;

A 0 et B 0;

Dual :

Min 200a + 100b

Subject to :

2a + 3b 20;

2a + b 10;

a 0 et b 0;

Economic interpretation :

a will give the cost/price of one hour for the cutting process and b

the price for the packing one.

A simple example (II)

Page 13: Introduction to linear programming - UTC Heudiasyc

Linear program modeling

General cases : lower and upper bounds; render inequalities to equalities; express unsigned variables as nonnegative ones;

Page 14: Introduction to linear programming - UTC Heudiasyc

Linear program modeling

Expressing the objective function:

– maxmin or minmax functions; • Let be given variables x 1, x2, …, xn. The objective function consists

in maximizing the minimum of them.

– Intro duce a new variable y which is a lower bound of xj;

– The objective function becomes: Max y;

– “multiplicative” functions • Min 1/x => Max x;

• y=ax, where x binary variable and a [0, .., M].

– y <= a; y <= Mx; y >= a + (x-1)M.

– how to do when both binary variables ?

Page 15: Introduction to linear programming - UTC Heudiasyc

Linear program modeling

• Expressing constraints :

– Capacity constraints • Usually they give rise to upper bound constraints;

– Demand constraints • Usually they give rise to lower bound constraints;

– Mass balance constraints

– Proportion constraints • a, b and c give all, and a is exactly 30%: a = 0,3 (a+b+c)

Page 16: Introduction to linear programming - UTC Heudiasyc

LP modeling techniques

iRxAts

xD

xN

Min

j

ijij

j

jj

j

jj

..

;

;1..

.

;;1

:

i

j

jj

j

jj

j

jj

jj

j

jj

dRyA

yDts

yNMinFunctionObj

xdyxD

dSet

Page 17: Introduction to linear programming - UTC Heudiasyc

Integer Linear Programming

Page 18: Introduction to linear programming - UTC Heudiasyc

Introduction to integer linear programming

• Integer Linear Programming (ILP)

– An integer linear program is a linear programming problem with variables taking values in Z.

– Binary or 0-1 linear programming problems are a special case.

• How to solve integer linear programming :

– Cutting planes, Branch and bound methods, branch and cut…

Page 19: Introduction to linear programming - UTC Heudiasyc

Modeling by binary variables

Page 20: Introduction to linear programming - UTC Heudiasyc

Linear programming modeling

Modeling constraints in scheduling problems:

disjunctive constraints :

task A before task B or task B before task A;

conjunctive constraints;

task A before task B; or task A before B and C…

Expressing disjunctive constraints:

Page 21: Introduction to linear programming - UTC Heudiasyc

21

Scheduling problems

Problem formalization: Data: tasks (ready time, processing time, due time), number of machines,

precedence constraints, preemption, etc …

Problem modeling – data: ri (ready time), pi (processing time), di (due time);

– Decision variables : ti (start date of execution), xij (execution order between i and j), ci (completion execution time).

– Precedence/conjunctive constraints: task i before task j : ti + pi <= tj:

– Disjunctive constraints: ti + pi <= tj or tj + pj <= ti :

ti + pi <= tj + M(1-b) ; tj + pj <= ti + Mb ; b {0,1}

– Objective function: minimize the completion time (makespan), total lateness, number of delayed tasks, etc.

Page 22: Introduction to linear programming - UTC Heudiasyc

The one machine scheduling problem

We consider the n-job one-machine scheduling problem with ready time ri, processing time pi, and due time di for each job i. Preemption is not

allowed, and precedence constraints among jobs are not considered.

• Decision variables: – xij (boolean variables): task i executed at the j-th order ;

– tj (>= 0) start time for task placed at order j ;

• LP formulation

f.obj. : Min tn + i xin*pi ;

s.t. for all i : j xij=1 ;

for all j :i xij=1 ;

for all j : tj >= i xij*ri ;

for all j : tj+1 >= tj + i xij*pi ;

for all j : tj + i xij*pi <= i xij*di ;

Page 23: Introduction to linear programming - UTC Heudiasyc

23

Examples in LP modeling

Problem. Computer production planning The company ORDI produces laptops. Selling previsions (in thousands of unities)

for the next six months are reported in the following table. The production

capacity of the company is 30000 per month. It is possible to produce more at

higher cost, 300 Euros per piece instead of 250.

Selling previsions for the next six months

There are 2000 laptops in stock. The storing cost is of 25 Euros per unity for

what is in stock at the end of the month. We suppose that the stocking capacities

are unlimited. We begin at the 1st January. What is the production plan for the

next six months such that all demands are satisfied and the cost is minimized.

january february march april may june july

30 15 15 25 33 40 45

Page 24: Introduction to linear programming - UTC Heudiasyc

24

LP model Decision variables :

xi : quantity produced with nominal tariff during month i ;

yi : quantity produced with secondary tariff during month i ;

si : stock of month i, and s0 initial stock (=2000) ;

Mass conservation constraints :

For i from 1 to 6 : si-1 + xi + yi = Di + si ;

Capacity constraint: xi <= 30000 ;

Positivity and integrality constraints:

xi, yi, si >= 0 ; xi, yi, si are integers

Objective function:

Min (i xi*250 + i yi*300 + i si*25).

Page 25: Introduction to linear programming - UTC Heudiasyc

Modeling optimization problems in logistics and transportation

Page 26: Introduction to linear programming - UTC Heudiasyc

Modeling optimization problems in logistics and transportation

Related problems:

• Partitioning, generalized matching, covering, facility location problems;

• Lp models for transportation problems: – Transportation programs,

– Minimal cost flows and multiflows, vehicle routing problems, etc.

Page 27: Introduction to linear programming - UTC Heudiasyc

Partitioning, covering

• Partitioning problems ask whether is possible to split a given set in subsets satisfying some criteria.

– (bi)partition problem : the problem is to decide whether a given a set of integers can be partitioned into two "halves" that have the same sum.

• Covering problems ask whether a certain combinatorial structure 'covers' another, or how large the structure has to be to do that.

– A cover of a set X is a collection of sets such that X is a subset of the union of sets in the collection. An exact cover is a subcollection such that each element in X is contained in exactly one subset in it.

– The vertex cover problem : a vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex of the set.

• Propose an ILP model for the vertex cover problem.

Page 28: Introduction to linear programming - UTC Heudiasyc

Covering problems total cover

- Data:

n candidate sites (indexed by i)

m demands (indexed by j)

Dc maximum cover (reaching) distance.

constants (0,1) noted as aij indicating if j can be covered by i.

ci installation cost of i.

dij distances between any i and j.

Goal: compute which sites will be open such that all clients are covered at minimal installation cost of sites.

PL01 Formulation:

jxai

iji 1,

i

ii xcMin

.1,0 ixi

Page 29: Introduction to linear programming - UTC Heudiasyc

maximal cover

- It occurs when one wants to maximize the area/demand covered when the number of allowed sites is bounded.

additional coefficients and variables:

p maximum number of sites allowed to be installed;

dj demand j (known data)

zj binary variable indicating if some j is covered.

PL01 formulation:

px

jxaz

i

i

i

ijij

,

j

jj zdMax

.1,0

1,0

jz

ix

j

i

Page 30: Introduction to linear programming - UTC Heudiasyc

p-center and p-median problems

“p-median” problems

Goal:

– Minimize the average distance

– Example : distribution centers...

Data:

- A set of demands/clients to satisfy

- A set of n sites, such that only p are allowed to open

- Distance dij between demands/clients and sites;

“p-center” problems

Goal:

– Where placing sites in order to minimize the maximal distance;

– Example : placing firestations, etc.

Page 31: Introduction to linear programming - UTC Heudiasyc

p-center problem

LP model:

;

;1,

px

jy

i

i

i

ji

;0

,,1,0

1,0

,

z

jiy

ix

ji

i

zMin

,,

,,

,,

,

jzyd

jixy

ji

i

ji

iji

xi -> site i;

yi,j -> demand j covered by i

Page 32: Introduction to linear programming - UTC Heudiasyc

LP model:

;

;1,

px

jy

i

i

i

ji

,,1,0

1,0

, jiy

ix

ji

i

ji

i

ji

j

j ydqMin ,,

jixy iji ,,,

qj -> quantity of demand j;

xi -> site i;

yi,j -> demand j covered by i

p-median problem

Page 33: Introduction to linear programming - UTC Heudiasyc

Facility location problems

• Facility location, is concerned with computing optimal placement of facilities in order to minimize transportation costs, satisfy client demands, outperform competitors' facilities… – Examples : medical urgency centers, distribution centers, placing

concentrators in a network... etc.

Page 34: Introduction to linear programming - UTC Heudiasyc

Warehouse facility location problem

Minimizing the total cost including installation cost and the transport cost. Determine which sites/warehouse facilities have to be installed and what quantities they should deliver to each client.

LP model :

iMxy

jdy

j

iji

i

jji

,

,

i j

jiji

i

ii ycxfMin ,,

.,0

1,0

, jiy

ix

ji

i

Deduce the signification of variables used in the above model.

Page 35: Introduction to linear programming - UTC Heudiasyc

35

A transportation program The transportation problem deals with sources where a supply of some commodity

is available, and destinations where the commodity is demanded.

Example. Cars to rent

A company specialized in car’s rent has two garages with respectively 12 et 8 cars in stock, and three rent shops demanding for respectively 8, 7 and 5 cars. The unitary costs of transport are given in the following table. What would be the transport plan of minimal cost ?

1 3 5 3 12

2 2 7 1 8

Shops 1 2 3

Demand 8 7 5

Garages

Supply

Page 36: Introduction to linear programming - UTC Heudiasyc

36

LP model Minimize 3x1,1 + 5x1,2 +3x1,3 + 2x2,1 +7x2,2 + x2,3

Subject to:

x1,1 + x2,1 ≥ 8;

x1,2 + x2,2 ≥ 7;

x1,3 + x2,3 ≥ 5;

x1,1 + x1,2 + x1,3 ≤ 12;

x2,1 + x2,2 + x2,3 ≤ 8;

xi,j Z+;

xij : decision variables : number of cars to be sent from i to j.

Exercise : Give the general LP model for the transportation program :

There are a1, a2, ... , am units in the warehouses 1,2 ,..., m. We want

to transport these units to the destinations 1,2 ,..., n where the

requests b1, b2 ,..., bn occur, with Σai = Σbj.

Page 37: Introduction to linear programming - UTC Heudiasyc

Transportation program

njbx j

i

ji ,...,1,

miax i

j

ji ,...,1,

ji

jiji xcMin,

,,

.,0, jix ji

demand

supply transport unitary cost matrix

Page 38: Introduction to linear programming - UTC Heudiasyc

The TSP

In 1859, Sir W. R. Hamilton built a puzzle dodecahedron in wood. This

dodecahedron has 20 vertices and 12 faces:

Question. Find an hamiltonien cycle passing

through the vertices of dodécahédron.

Page 39: Introduction to linear programming - UTC Heudiasyc

TSP : LP formulation

To each arc (i,j), we associate some variable xij taking 1 if

(i,j) is included in the hamiltonian cycle and 0 otherwise.

)(,...,01, anixj

ji

ji

jiji xdMin,

,,

.,1,0, jix ji

)(,...,01, bnjxi

ji

1_

,

, SjSi

jix )(;,11, cNunjinnxuu ijiji

Page 40: Introduction to linear programming - UTC Heudiasyc

Path problems LP formulations

.,,,,;)(! ,, tsjiXjixxiprecj

ij

isuccj

ji

;1)!(! ,, tprecj

tj

ssuccj

js xx

i

jiji xwMin ,,

.,;)(! ,, Xjixxiprecj

ij

isuccj

ji

;1)!(!),(

, jiall

jix

i

jiji xwMin ,,

The directed cycle with minimum

weight/length is called the minimum

cycle mean.

The LP formulation :

LP model for the shortest path problem

.,1,0, jix ji

.,1,0, jix ji

Page 41: Introduction to linear programming - UTC Heudiasyc

Maximum flow problem

Data: let be G=(X,U,C,s,t) where:

• X, a set of n nodes, U a set of m arcs, Cij capacity set on arc (i,j), source s and sink t.

• A flow is an application de U to R+ :

– Satisfy capacity constraints (1)

– Kirchoff constraints (2)

.),(;)1( ,, UjiC jiji

.,,,,;)2( ,, tsjiXjiiprecj

ij

isuccj

ji

;)3( ,, Ftprecj

tj

ssuccj

js

FMax

Page 42: Introduction to linear programming - UTC Heudiasyc

Min cost flow problem

Data: let be given G=(X,U,C,w,s,t) with:

– X, a set of n nodes, U a set of m arcs, Cij capacity of arc (i,j) and wij, unitary cost of use of arc (i,j). Let s and t be respectively the source and the sink, and F the flow value to be satisfied.

.),(;)(! ,, UjiC jiji

.,,,,;)!(! ,, tsjiXjiiprecj

ij

isuccj

ji

;)!!(! ,, Ftprecj

tj

ssuccj

js

i

jijiwMin ,,

Page 43: Introduction to linear programming - UTC Heudiasyc

Multi-commodity flow problem

Quite similar to the flow problem:

• Satisfy capacity constraints (!)

• Flow conservation (!!)

• Flow values to satisfy (!!!)

.),(;)(! ,,, UjiC ji

d

jid

ji

,)!!(! ,,d

tprecj

tjd

ssuccj

jsd F

dd

.,,,,,;)!(! ,,dd

iprecj

ijd

isuccj

jid tsjiDdXji

Page 44: Introduction to linear programming - UTC Heudiasyc

A simple application to telecommunications (I)

Minimum cost flow allocation problem

• Data:

– Network represented by G(X,U,D), where :

• X the set of nodes;

• U the set of arcs (i,j), with capacity Cij

• D the traffic demand, where Td give the demand traffic value to be satisfied for commodity d.

• Goal:

– Determine a routing scheme in the network such that the capacity constraints and traffic demands are both satisfied, while the use of resources (bandwidth) over the network is minimized.

Page 45: Introduction to linear programming - UTC Heudiasyc

A simple application to telecommunications (II)

.,),(;0, DdUjijid

.),(;,,, UjiC ji

d

jid

ji

.,,, DdF d

tprecj

tjd

ssuccj

jsd

dd

.,,,,,;,,dd

iprecj

ijd

isuccj

jid tsjiDdXji

Uji

ji

),(

,LP formulation : Min

Page 46: Introduction to linear programming - UTC Heudiasyc

The art gallery problem

• The art gallery or museum problem originates from a real-world problem of guarding an art gallery with the minimum number of guards which together can observe the whole gallery.

• Propose an ILP model.

Page 47: Introduction to linear programming - UTC Heudiasyc

The fair loading problem

Let be given N train wagons with a load capacity limited to P. We have m boxes 1,2, .., m with weights p1, p2, .., pm.

Question 1. Propose an ILP model for the assignment of boxes to wagons such that minimizing the total weight of the most loaded wagon.

Question 2. Study the case with only two wagons and propose a simplified ILP model.

Page 48: Introduction to linear programming - UTC Heudiasyc

Exercise

Employment planning for a restaurant

• The manager of a restaurant needs to ensure permanence and service in his restaurant on the basis of some statistics (say for day i (1≤i≤7), are needed ai employees):

• He needs to find the minimal number of employees when any of them should work 5 consecutive days and next takes two days of break. Give an LP model for this problem.

Page 49: Introduction to linear programming - UTC Heudiasyc

Resolution methods for ILP

Page 50: Introduction to linear programming - UTC Heudiasyc

A naive method: rounding the relaxed LP solution

• Let P=Ax ≤ b, (x≥0, et A≥0) be a maximization problem (cx, c≥0), and x0 a non-integral solution of the relaxed LP problems.

– x0 is a feasible solution, but non x0.

• In general the rounded solution can give as well a feasible and a non feasible solution. – Example:

Maximize x1 + 2x2

Subject to:

4x1 + 3x2 ≤ 12;

-2x1 + x2 ≤ 1;

3x1 ≤ 5;

x1 ≥0 et x2 ≥ 0, x1, x2 integers.

Relaxed LP solution (0.9, 2.8)

Integral solution (1, 2);

Page 51: Introduction to linear programming - UTC Heudiasyc

TU matrixes (totally unimodular)

Let be given the following ILP:

P = Max z=cx s.t. Ax ≤b; x 0 x take integer values; Question : in what conditions it happens that the optimal solution of the

relaxed P, is an optimal solution for initial P?

Definition : a totally unimodular matrix (TU matrix) is a matrix for which every square submatrix is with determinant –1, 0, or +1.

Examples : the shortest path problem, minimum cost flow problems, etc..

Page 52: Introduction to linear programming - UTC Heudiasyc

An example of a TU matrix

2u

3u

5u

4u

1u

0 1 1 -1 0

1 0 -1 0 0

-1 0 0 0 1

0 -1 0 1 -1

1

2

3

4

1 2

4 3

2u

3u

5u

4u1

u

Page 53: Introduction to linear programming - UTC Heudiasyc

Cutting plane algorithm

• General description of the cutting plane algorithm :

– Principle: an ILP is solved through a sequence of LP problems augmented with valid inequalities.

– Solve the relaxed problem, i.e., removing the integrality

constraints from the initial problem. • If the solution, say x*, contains only integers, it is optimal for the ILP

problem. • If not, find a valid inequality violated by x* and add it to the LP and

solve it again (this is a cutting plane). • This procedure continue like this until an integral solution is obtained

or it is not possible to find a valid inequality. Valid inequality : An inequality cTx ≤ c0 is valid for a set S ⊆ Rn if cT x ≤ c0 for all x ∈ S. A valid inequality is called a valid cut inequality when the solution x* of the relaxed LP

problem doesn’t satisfy the inequality, i.e. if cT x* > c0 .

Page 54: Introduction to linear programming - UTC Heudiasyc

Cutting plane algorithm

Page 55: Introduction to linear programming - UTC Heudiasyc

Cutting plane algorithm

Page 56: Introduction to linear programming - UTC Heudiasyc

Cutting plane algorithm

Page 57: Introduction to linear programming - UTC Heudiasyc

Cutting plane algorithm

Page 58: Introduction to linear programming - UTC Heudiasyc

Cutting plane algorithm

Page 59: Introduction to linear programming - UTC Heudiasyc

Exact methods branch and bound method

Initially proposed to solve ILP problems by Lang e&Doig (1960) and Dakin (1965).

Principle. It combines the primal and dual simplex algorithm with Branch and Bound principle.

Consider the maximization problem: Max cx = z,

Ax = b

xjN, j=1..n

• Initialization : the relaxed problem gives the root of the tree S0 – solve the relaxed problem, if the solution is integer, END.

– otherwise, we obtain a default evaluation; • continue with splitting.

Page 60: Introduction to linear programming - UTC Heudiasyc

Branching and bounding

• Branching: – Split on xk that is not integer : xk ≤ xk and xk ≥ xk +1 ,

which gives two subsets (nodes) S’ et S’’;

• Evaluation: – Solve the associated relaxed LP problems :

• PLS’ = PLS + xk ≤ xk ; (primal simlex algorithm)

• PLS’’ = PLS + xk ≥ xk +1 ; (dual simplex algorithm)

Page 61: Introduction to linear programming - UTC Heudiasyc

Branching and bounding

• Node examination choice

– Breadth first

– Depth first

Default evaluation : the best feasible (integer) solution currently obtained (z0).

• Pruning rule: v(S)≤v(z0).

Page 62: Introduction to linear programming - UTC Heudiasyc

Branching and bounding

Page 63: Introduction to linear programming - UTC Heudiasyc

Branching and bounding

Page 64: Introduction to linear programming - UTC Heudiasyc

Branching and bounding

Page 65: Introduction to linear programming - UTC Heudiasyc

Example of B&B on a minimization problem.

Page 66: Introduction to linear programming - UTC Heudiasyc

Example

Page 67: Introduction to linear programming - UTC Heudiasyc

The general branch and bound method

• Principle. Branch and bound (B&B) consists of a complete enumeration of all candidate solutions, where subsets of fruitless candidates are discarded, by using upper and lower estimated bounds of the quantity being optimized.

Page 68: Introduction to linear programming - UTC Heudiasyc

The general Branch and bound method

Consider a minimization problem: – Principle: build a tree structure (the root could be the

associated relaxed problem). – Split the set of feasible solutions in subsets that cover the

initial set (giving subproblems): • Any infeasible subproblem is discarded; • If possible compute the optimal solution for the subproblem, or a lower

bound (bounding); – if it is larger than the current best solution, discard the subproblem

(pruning). – Otherwise split again and repeat the procedure (branching).

Combined with cutting planes it gives the Branch and Cut algorithm (B&C).

Page 69: Introduction to linear programming - UTC Heudiasyc

An example

Solve the following binary LP:

Max 4x1 + 4x2 - 3x3

4x1 + 2x2 - x3 ≤ 7

6x1 + 2x2 + 3x3 ≤ 10

x1 + x2 - x3 ≤ 2

x1, x2, x3N.

Page 70: Introduction to linear programming - UTC Heudiasyc

Arborescent method : exercise Five people, with different nationalities, live in the first five houses of a street,

all on the same side of the street (numbered from 1 to 5).

These people have each a different job as well as a favourite drink and animal

(each different for each person).The five houses are each of a different colour. 1 : The englishman lives in the red house.

2 : The spaniard has a dog.

3 : The japanese man is a painter.

4 : The italian drinks tea.

5 : The nowegian lives in the first house on the left.

6 : The owner of the green houses drinks coffee.

7 : This green house is immediately on the right of the white house.

8 : The sculptor raises snails.

9 : The diplomat lives in the yellow house.

10 : The person who lives in the middle house drinks milk.

11 : The norwegian lives next to the blue house.

12 : The violinist drinks fruit juice.

13 : The fox is in a house next to the doctor's house.

14 : The horse is next to the diplomat's house.

Who has a zebra and drinks water ?

(Attributed to Lewis Carrol)

Page 71: Introduction to linear programming - UTC Heudiasyc

Solvers and modelers There are two types of products: solvers et modelers

• Solvers : specialized computer programs designated to solve mathematical programs (linear or not) – Freewares:

• Lp-solve, Lp_optimiser, SoPlex, Coin, PCx, Ms-excel solver …

– The others: • CPLEX, XPRESS-MP, AIMMS, MINOS, OSL, LINDO, MPSIII…

• Modelers : designated to model the problem by non specialists: – (MPS, AMPL), recognized by most important solvers, allow also to analyze

and interpret the results …,

• Other modelers: – AIMMS, GAMS, LINGO, LP-TOOLKIT, MathPro, MIMI, MINOPT, MPL, OMNI,

OPL Studio .

Page 72: Introduction to linear programming - UTC Heudiasyc

END