Programacion lineal ejemplos y teoria - ingenieria
1. Método de las gran M
Éste método añade variables artificiales, que no deben de aparecer en la
solución óptima final
Po = c1x1 + …. + cnxn Objetivo original
Pa = c1x1 + …. + cnxn + Mxa1 + ….+Mxam Objetivo modificado
Las variables artificiales dan una solución inicial en forma canónica.
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
2. Todas las variables “reales” valen inicialmente 0 y las variables artificiales
É
son las que satisfacen las ecuaciones. Éstas variables tienen de coeficiente 1.
En el óptimo todas las variables artificiales deben de valer 0.
p f
Se consigue poniendo una alta penalización a las mismas en la función
objetivo, la “gran M”.
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
3. La resolución es en forma de tabla como en los casos anteriores
Coeficientes función objetivo
Coeficientes de
restricciones LHS
Variables
artificiales
Coeficientes de
restricciones RHS
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
4. Ejemplo de resolución empleando el método de la
gran M
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
5. Convertir el problema a estándar añadiendo variables de holgura
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
6. Añadir variables artificiales para encontrar una solución inicial
f tibl
factible.
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
7. Añadir altas penalizaciones a las variables en la función objetivo.
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
8. Formular el problema en forma de tabla
¡¡¡NOTA!!! En este caso la función objetivo se ha despejado al
¡¡¡NOTA!!! En este caso la función objetivo se ha despejado al
revés a lo visto en el método anterior poníamos (z-2x1-3x2-Ma2-Ma3),
por eso se escogerá el menor valor negativo en lugar del mayor
positivo. ¡Y se acabará cuando todos sean positivos!
0
3
2 3
2
2
1 =
+
+
+
+
− Ma
Ma
x
x
z
z x1 x2 s1 s2 a2 a3 rhs Basic Ratio
p ¡ p
1 2 1 2 2 3
variable
-1 2 3 0 0 M M 0 z
0 .5 .25 1 0 0 0 4 s1 ---
0 1 3 0 1 1 0 20
0 1 3 0 -1 1 0 20 a2 ---
0 1 1 0 0 0 1 10 a3 ---
Canonical form: Buscamos que todas las variables básicas tengan una columna con un 1 y
el resto de elementos 0.
Luego operamos para tener esta condición en las variables a2 y a3
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
9. Ahora el problema está en una solución factible (vértice) y en forma canónica.
Empezamos el procedimiento cambiando una variable de la base (cambiar a un
Empezamos el procedimiento cambiando una variable de la base (cambiar a un
vértice adyacente) para:
1. Mejorar la función objetivo
2 M t l l ió f tibl
I iti l t bl
2. Mantener la solución factible.
Initial tableau
This (x2) is the variable entering the basis (smallest value < 0).
z x1 x2 s1 s2 a2 a3 rhs Basic Ratio
z x1 x2 s1 s2 a2 a3 rhs Basic
variable
Ratio
-1 -2M+2 -4M+3 0 M 0 0 -30M z
0 .5 .25 1 0 0 0 4 s1 16
0 1 3 0 -1 1 0 20 a2 20/3
0 1 1 0 0 0 1 10 a3 10
This (a ) is the variable leaving the basis
This (a2) is the variable leaving the basis.
Pivot element, ars (Smallest value of bi/aij for entering aij >0)
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
10. Si la solución no es óptima seguimos con el procedimiento.
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
11. Third tableau
All reduced costs are greater than 0.0. The objective cannot be decreased by changing
the basis i e moving to an adjacent corner point We have found the optimum!
the basis, i.e., moving to an adjacent corner point. We have found the optimum!
z x1 x2 s1 s2 a2 a3 rhs Basic
variable
Ratio
-1 0 0 0 1/2 -1/2+M -3/2+M -25 z = 25
1 0 0 0 1/2 1/2+M 3/2+M 25 z 25
0 0 0 1 -1/8 1/8 -5/8 1/4 s1 = 1/4 ---
0 0 1 0 -1/2 1/2 -1/2 5 x2 = 5 ---
0 1 0 0 1/2 -1/2 3/2 5 x1 = 5 ---
10. In this problem, the optimum was reached after the artificial variables were eliminated.
Typically, (many) additional corner points would have to be evaluated using the pivoting
procedure
procedure.
The solution is x1 = 5, x2 = 5; slack variables values are s1 = ¼ and s2 = 0.
The objective function value is z = 25.
j
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
12. PROGRAMACIÓN LINEAL
PROGRAMACIÓN LINEAL
¿Puedo saber
25
Problema Solución
algo más con la
solución?
z = 25
3.75 ≤ 4.0
20 ≥ 20
10 = 10
x1 = 5 ≥ 0
x2 = 5 ≥ 0
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
13. Análisis de sensibilidad
Análisis de sensibilidad
Cómo afecta el cambio de parámetros en la solución.
Problema
Cómo afecta un cambio
en este parámetro en z y
en este parámetro en z y
en los valores de x*?
¡Sin tener que resolver
¡ q
de nuevo el problema!
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
14. Los coeficientes de la función objetivo de las variables
originales se denominan: costes reducidos
originales se denominan: costes reducidos
Los coeficientes de la función objetivo de las demás variables
(holgura) se denominan: precios sombra o duales
En el óptimo:
O la variable es cero (no básica) o el precio dual o el coste reducido es cero.
En el caso de que ambos sean cero:
E i l ió d d i l i bl bá i
Existe solución degenerada si la variable es básica
Existen múltiples óptimos si la variable es no básica
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
15. Análisis de sensibilidad
S ibilid d Δ /Δ d l i bl bá i
Análisis de sensibilidad
• Sensibilidad= Δz/Δα con todas las variables básicas, xB,
pueden cambiar luego la solución es un nuevo óptimo.
1. Los resultados se limitan a los óptimos con las mismas
restricciones activas que el caso base, es decir, no requiere
q , , q
cambiar la base escogida.
2. Los resultados definen el rango de cambio de parámetros
(coeficientes función objetivo o constantes de RHS) que
implican que no hay cambio en las restricciones activas.
3 El resultado proporciona un valor exacto cuantitativo de
3. El resultado proporciona un valor exacto, cuantitativo de
ΔOBJ*/Δparametro
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
16. Análisis de sensibilidad
Análisis de sensibilidad
El software presenta informes con el valor y rango de la
ibilid d d d i ió F d l b
sensibilidad de cada restricción. Fuera de ese rango la base
cambia.
Constraint ID Status
(Binding/
non-binding)
slack Shadow price
(sensitivity of
rhs)
Maximum
allowable
increase (AI)
Maximum
allowable
decrease (AD)
o b d g)
(Active/inactive)
s) c e se ( ) dec e se ( )
Max. Reflux flow Active 0 3.74 47 123
Max. Pump 7 Inactive 321 0 1.0E30 321
Shadow price = ΔOBJ*/ΔRHS, has units!
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
17. Análisis de sensibilidad
Análisis de sensibilidad
Cambios en el parámetro RHS
Cuánto puedo cambiar la
restricción 1 sin cambiar
de base?
Optimum
Variable
x
2
1b
de base?
V
1 1a
Los valores de x*
cambian!
Variable x1
cambian!
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
18. Los valores de las variables (si la restricción está activa) y de la función
objetivo variarán, pero la base permanece.
El nuevo valor de la función objetivo será:
Znew=Zoriginal - precio sombra x ∆b
Znew=Zoriginal - precio sombra x ∆b
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
19. Análisis de sensibilidad
Análisis de sensibilidad
Función objetivo = z = Σcjxj
Sensibilidad a un cambio en un coeficiente de la función
objetivo.
The
original
optimum
j
Cambios en cj que no cambian la
base,
Δx = 0
Δ z = Δ Σcjxj= Σ Δ cj(xj)
cj j cj( j)
= Δ ck(xk)
D d k l fi i t bi d
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
Original problem
Donde k = el coeficiente cambiado
20. Los valores de las variables en el nuevo óptimo no cambian, al no
variar las restricciones y no cambiar la base. Luego el óptimo es el
mismo punto en el espacio.
El l bj ti l l i d l l d l
El nuevo valor objetivo se calcula poniendo los valores de las
variables en la nueva función objetivo, dado que cada vez se varía un
coeficiente se puede calcular el cambio en la función objetivo debido
a un cambio en el coeficiente
a un cambio en el coeficiente.
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
21. Análisis de sensibilidad
Análisis de sensibilidad
En general cambios
En general cambios
en los coeficiente “A”
del LHS, implican
que el problema se
debe resolver de
nuevo
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
nuevo.
23. PROGRAMACIÓN LINEAL
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
We must monitor and diagnose the LP solution. We could
g
have made a formulation error, or we could have defined a
problem that is correct but has special, unusual, properties.
We must monitor for weird effects.
The
original
optimum
Let’s learn to
• diagnose and
• correct (if possible).
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
Original problem
24. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
feasible
NO FEASIBLE SOLUTION
feasible
X2 ≥ 0
• Diagnosis -
feasible
feasible
• Remedial Action -
X1 ≥ 0
Remedial Action -
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
25. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
feasible
NO FEASIBLE SOLUTION
• Diagnosis At least one
feasible
X2 ≥ 0
• Diagnosis - At least one
artificial variable in
optimal basis - software feasible
feasible
optimal basis software
reports this as infeasible.
• Remedial Action -
X1 ≥ 0
Remedial Action -
reformulate, if
appropriate
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
(See goal programming)
26. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
UNBOUNDED SOLUTION
i i
ariable
x
2
Increasing profit
• Diagnosis -
Va
• Remedial Action -
Variable x1
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
27. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
UNBOUNDED SOLUTION
i i i
ariable
x
2
Increasing profit
• Diagnosis - The distance to
the best adjacent corner
point is infinity - software
Va
point is infinity - software
will report.
• Remedial Action
Variable x1
• Remedial Action -
Reformulate, which is
always possible - realistic
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
always possible realistic
variables never go to ∞
28. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
Increasing profit
ALTERNATIVE OPTIMA
i i
Variable
x
2
Shaded area
Optimal
corner points
• Diagnosis -
V
is the feasible
region
• Remedial Action -
Variable x1
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
29. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
ALTERNATIVE OPTIMA
Increasing profit
ALTERNATIVE OPTIMA
• Diagnosis 1 - The basis can
change with no change in
Variable
x
2
Shaded area
Optimal
corner points
change with no change in
objective.
O b i
V
is the feasible
region
One or more non-basic
variables has a zero
marginal cost.
Variable x1
marginal cost.
Software does not report
warning
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
warning
30. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
ALTERNATIVE OPTIMA
Increasing profit
ALTERNATIVE OPTIMA
• Diagnosis 2 - One or more
active constraint rhs can be
Variable
x
2
Shaded area
Optimal
corner points
active constraint rhs can be
changed without affecting
the objective.
V
is the feasible
region
j
An active constraint has a
zero marginal value and
Variable x1
zero marginal value and
non-zero range (both ways).
Software does not report Constraint rhs can
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
Software does not report
warning
be changed with no
change to OBJ
31. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
ALTERNATIVE OPTIMA
Increasing profit
ALTERNATIVE OPTIMA
• Remedial action- We have
found the best value of the
Variable
x
2
Shaded area
Optimal
corner points
found the best value of the
Función objetivo!
W lik l f f th
V
is the feasible
region
We likely prefer one of the
different sets of x values.
We would like to know all
Variable x1
We would like to know all
solutions and select the
“best”, using additional
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
criteria.
32. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
CONSTRAINT
DEGENERACY: Redundancy
ariable
x
2
O ti
2
• Diagnosis -
Va
Optimum
1
3
R di l A ti
Variable x1
• Remedial Action -
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
33. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
CONSTRAINT
DEGENERACY: Redundancy
ariable
x
2
O ti
2
• Remedial action- The
solution is correct.
Va
Optimum
1
3
The sensitivity information
is not reliable!
Variable x1
If you need sensitivity
information, introduce the
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
change (rhs, cost, etc.) and
rerun the optimization.
34. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
CONSTRAINT optimum
x3
DEGENERACY:
• Diagnosis -
x
R di l A ti x1
x2
• Remedial Action -
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
35. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
CONSTRAINT optimum
x3
DEGENERACY:
• Diagnosis -
x
More inequalities are active
(slacks = 0) than dimension x1
x2
( )
of the problem.
Software does not report
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
Software does not report
warning
36. PROGRAMACIÓN LINEAL
Solution
Diagnosis
The LP Simplex Algorithm Weird Events
e S p e go We d ve s
CONSTRAINT optimum
x3
DEGENERACY:
• Remedial action - The
solution is correct.
x
The sensitivity information
is not reliable!
x1
x2
If you need sensitivity
information, introduce the
Optimización de procesos químicos. 2007-2008 DIQUIMA-ETSII
change (rhs, cost, etc.) and
rerun the optimization.