Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Integer Programming: Branch and Bound - A Solution Approach for Integer Problems - Prof. M, Apuntes de Administración de Empresas

An overview of integer programming (ip) and its solution approach using the branch and bound (b&b) method. Ip is a popular optimization technique used to find the best integer or mixed integer solution for various combinatorial problems, such as university timetabling. The b&b method is based on the principle that by introducing extra constraints, the problem can only worsen. An example problem and its solution using the b&b method.

Tipo: Apuntes

2013/2014

Subido el 18/01/2014

eolina93
eolina93 🇪🇸

3.9

(369)

200 documentos

1 / 3

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
INTEGER PROGRAMMING: THE BRANCH AND BOUNT METHOD
I have taken this example from Taha.
It is quite common for variables to be allowed to take only integer values. For example,
we cannot buy part of a car, or allocate half of a child to a school. This is quite easy to
formulate, all we need to do is to say that the relevant variable needs to take an integer
value. But it is not easy to solve. There is no simple algorithm to do Integer
Programming (IP). There are various methods, such as Branch and Bound (B&B),
which we will study in here. These days IP is to be found everywhere. Many
combinatorial optimisation problems, such as organising a timetable for a university, are
formulated as IP. We consider two kinds of IP problems: all integer problems, where all
the variables take integer values, and Mixed IP, where some variables must take integer
values, while others can take any value.
The B&B method is based on a very simple idea: by introducing extra constraints things
can only get worse.
Take the following problem (Taha, example 9.3-1)
Our first step is to treat it as if it was an ordinary LP problem. By removing the integer
constraints we are giving freedom to the problem, and we obtain the maximum possible
value that x0 can take.
Basic X0X1X2S1S2Sol Ratio
X01 -5 -4 0 0 0
S10 1 1 1 0 5 5/1
S20 10 6 0 1 45 45/10
X01 0 -1 0 1/2 45/2
S10 0 2/5 1 -1/10 1/2 9/5
X10 1 3/5 0 1/10 9/2 31/5
X01 0 0 5/2 1/4 95/4
X20 0 1 5/2 -1/4 5/4
X10 1 0 -3/2 1/4 15/4
The solution is x0 = 95/4 = 23.5, x2 = 5/4 = 1.25, x1 = 15/4 = 3.75.
The decision variables do not satisfy the integer condition. Now we “branch” on one of
the variables. It does not matter which one, so we choose x1. X1 cannot be 3.75. In
fact, it cannot be any number between 3 and 4, as such numbers do not satisfy the
integer condition. This leads us to create two new problems, one with and another one
with .
We try the first option first. We need to solve:
PAGE 1
pf3

Vista previa parcial del texto

¡Descarga Integer Programming: Branch and Bound - A Solution Approach for Integer Problems - Prof. M y más Apuntes en PDF de Administración de Empresas solo en Docsity!

INTEGER PROGRAMMING: THE BRANCH AND BOUNT METHOD

I have taken this example from Taha.

It is quite common for variables to be allowed to take only integer values. For example, we cannot buy part of a car, or allocate half of a child to a school. This is quite easy to formulate, all we need to do is to say that the relevant variable needs to take an integer value. But it is not easy to solve. There is no simple algorithm to do Integer Programming (IP). There are various methods, such as Branch and Bound (B&B), which we will study in here. These days IP is to be found everywhere. Many combinatorial optimisation problems, such as organising a timetable for a university, are formulated as IP. We consider two kinds of IP problems: all integer problems, where all the variables take integer values, and Mixed IP, where some variables must take integer values, while others can take any value.

The B&B method is based on a very simple idea: by introducing extra constraints things can only get worse.

Take the following problem (Taha, example 9.3-1)

Our first step is to treat it as if it was an ordinary LP problem. By removing the integer constraints we are giving freedom to the problem, and we obtain the maximum possible value that x 0 can take.

Basic X 0 X 1 X 2 S 1 S 2 Sol Ratio

X 0 1 -5 -4 0 0 0

S 1 0 1 1 1 0 5 5/

S 2 0 10 6 0 1 45 45/10 ←

X 0 1 0 -1 0 1/2 45/

S 1 0 0 2/5 1 -1/10 1/2 9/5 ←

X 1 0 1 3/5 0 1/10 9/2 31/

X 0 1 0 0 5/2 1/4 95/

X 2 0 0 1 5/2 -1/4 5/

X 1 0 1 0 -3/2 1/4 15/

The solution is x 0 = 95/4 = 23.5, x 2 = 5/4 = 1.25, x 1 = 15/4 = 3.75.

The decision variables do not satisfy the integer condition. Now we “branch” on one of the variables. It does not matter which one, so we choose x1. X1 cannot be 3.75. In fact, it cannot be any number between 3 and 4, as such numbers do not satisfy the integer condition. This leads us to create two new problems, one with and another one with.

We try the first option first. We need to solve:

Basic X 0 X 1 X 2 S 1 S 2 S 3 Sol Ratio

X 0 1 -5 -4 0 0 0 0

S 1 0 1 1 1 0 0 5 5/

S 2 0 10 6 0 1 0 45 45/

S 3 0 1 0 0 0 1 3 3/1 ←

X 0 1 0 -4 0 0 5 15

S 1 0 0 1 1 0 -1 2 ←

S 2 0 0 6 0 1 -10 15

X 1 0 1 0 0 0 1 3

X 0 1 0 0 4 0 1 23

X 2 0 0 1 1 0 -1 2

S 2 0 0 0 -6 1 -4 3

X 1 0 1 0 0 0 1 3

This is an integer solution, with both X1 and X2 taking integer values, but we do not know if it is the best integer solution. What we know is that the value of the optimum has decreased from 23.75 to 23. This always happens: when we add a new constraint either things stay the same or they worsen, they never get better. We know that we can get an integer value of 23. This is a bound. If, in the course of our calculations we get a value lower than 23, we conclude that we are not going the right way and we give up our calculations.

Now we try the other option that we had previously “stored”.

This produces a solution of

This solution is better than the all integer one that we found earlier, so we continue down this path. Now, x 2 cannot be 0.83 because this is not integer, so we need to branch on x2. We do this by introducing two new constraints: either x 2 is zero, or. This way we have two new problems.

With a solution. This solution is worse than the one we had before, and we stop here, we do not branch further this way.

Now we try the remaining problem

This is a problem with no solution. We have finished.