Está en la página 1de 45

Principios de Optimizacin

Ing. Jos Koc Rueda

Introduccin
Supongamos que tratamos de maximizar o minimizar una funcin
de varias variables. Es relativamente tedioso encontrar los mximos
y mnimos utilizando reglas de clculo. Primero, encontraremos un
conjunto de valores donde la primera derivada es cero.
Adicionalmente con la segunda derivada determinamos si la
solucin es un mximo o un mnimo o un punto de silla.
En optimizacin un problema de la vida real, uno se enfrenta con
una funcin para ser maximizada o minimizada, tambin como
numerosas restricciones que tienen que ser consideradas. Las
restricciones algunas llamadas condiciones de contorno puede ser
una funcin como puede ser otras funciones con condiciones que
pueden ser encontradas o ellas pueden ser encontradas como
simples condiciones tal como lmites de las variables de la funcin.

ABC de la Optimizacin
A. Qu puedes decidir?
Ej: cunto producir; cunto invertir,
son variables de decisin
B: Qu quiere decir mejor?
Ej: maximizar beneficio, minimizar coste,
son objetivos (slo puede haber uno)
C: Qu restricciones hay?
Ej: no exceder presupuesto -> restricciones

ABC de la Optimizacin
Un problema de optimizacin es de la forma
maximizar (min) objetivo
sujeto a
restricciones en las decisiones factibles
Si las frmulas que definen el objetivo y las restricciones son
lineales, tenemos un problema de Programacin Lineal (PL)
PL: es el modelo matemtico ms aplicado en la prctica
Si las variables de decisin han de ser enteras: Programacin
Entera (PE)
La programacin lineal es la base para el desarrollo de
algoritmos de solucin de otros tipos (ms complejos) de
modelos, incluyendo la programacin entera, no lineal y
estocstica.

1. Programacin Lineal

Mirando el Pasado
En los siglos XVII y XVIII, grandes matemticos, como
Newton, Leibnitz, Bernoulli y, sobre todo, Lagrange,
que tanto haban contribuido al desarrollo del clculo
infinitesimal, se ocuparon de obtener mximos y
mnimos condicionados de determinadas funciones.
Posteriormente, el matemtico francs Jean BaptisteJoseph Fourier (1768-1830) fue el primero en intuir,
aunque de forma imprecisa, los mtodos de lo que
actualmente llamamos programacin lineal y la
potencialidad que de ellos se deriva.

Programacin Lineal
La programacin lineal es quizs la tcnica de programacin
matemtica ms ampliamente aplicada. En forma simple, la
programacin lineal trata de encontrar el ptimo valor de una
funcin de objetivo lineal cuando se tiene un grupo de
restricciones lineales.
PL: tcnica de modelizacin matemtica para optimizar el
empleo de recursos limitados
PL: tcnica matemtica ms aplicada
Aplicaciones: Industria, agricultura, transporte, economa,
sistemas sanitarios
PL en software comercial: Excel, LINDO, XPRESS-MP,
CPLEX, ...

Terminologa
Solucin factible: es aquella para la que todas las restricicones
se satisfacen
Solucin no factible: es una solucin para la que al menos una
solucin se viol
Regin factible: es la coleccin de todas las soluciones
factibles
Solucin bsica factible: nuna solucin basica que satisface la
condicin den nonegatividad de la programacin lineal es
llamada solucin bsica factible
Solucin ptima: es la solucin factible que optimiza la
funcin objetivo

Algunas Preguntas
Qu son los vertices en un PL general?
Cmo reconocer un vrtice ptimo?
Cul es el efecto de cambiar los datos?

Respuestas:
Estructura de soluciones
Condiciones de optimalidad, PL dual
Anlisis de sensibilidad

El Mtodo Simplex
Dearrollado por George Dantzing en 1947, est comprobado que
es un mtodo extraordinariamente eficiente que se usa en forma
rutinaria para resolver problemas grandes en las computadoras de
hoy en dia.
El mtodo simplex es un procedimiento algebraico. Sim embargo,
sus conceptos fundamentales son geomtricos. El entendimiento
de estos conceptos gemetriocs proporciona una fuerte intuicin
sobre cmo opera el mtodo simplex y qu lo hace tan eficiente.

El Algoritmo Simplex
1. Obtener una solucin bsica factible inicial.
2. Determinar si la solucin actual es ptima. Esto ser si todos los
elementos del vector de costes reducidos son negativos o nulos.
En caso contrario se ha de continuar
3. Determinar que variable no bsica ha de entrar en la base.esto
puede hacerse por ejemplo, eligiendo quella cuyo elemento
correspondiente en el vector de costes reducidos es ms positivo
4. Determinar cul es la variable bsica que sale de la base mediante
el procedimientos arriba mencionado.
5. Construir la nueva base
6. Obtener una solucin bsica factible
7. Continuar con el paso 2

Anlisis de Sensibilidad
El propsito principal del anlisis de sensibilidad es identificar los
parmetros sensibles (esto es, aquellosque no pueden cambiar sin
cambiar la solucin ptima).
Los parmetros sensitivos son los parmetros que ser necesario
controlar muy de cerca conforme el estudio se ponga en prctica.
Si se descubre que el valor verdadero de un parmetro sensitivo
difiere de su valor estimado en el modelo, esto da la seal
inmediata de que la solucin debe cambiar.

Dualidad (1/4) : Introduccin


Uno de los descubrimientos ms importantes durante el desarrollo
inicial de la programacin lineal fue el concepto de dualidad y
sus muchas e inportantes ramificaciones. Este descubrimiento
revel que , asociado a cada problema de programacin lineal,
llamado el primal hay un correspondiente problema llamado su
dual.
Correspondiente a cada problema primal de minimizacin, el
correspondiente dual es una maximizacin y viceversa
Problema Primal
Problema dual
Maximizar

Z cjxj

Minimizar

j 1

sujeto a
n

a
j 1

ij

x j bi ,

x j 0,

yo bi yi
j 1

sujeto a
para i 1,2...., m
para j 1,2...., n

a
i 1

ij

yi c j ,

yi 0,

para j 1,2...., n
para i 1,2...., m

Dualidad (2/4) : Reglas de Transformacin


Las reglas de transformacin de el problema primal a el problema
dual son las siguientes:
1. Correspondiente a m inecuaciones en el problema primal,
hay m variables en el problema dual.
2. Correspondiente a n variables elegida en el primal, hay
n restricciones en el problema dual.
3. La transpuesta del vector columna de constantes en las
restriciones de el problema primal, llegan a ser el vector fila
de coeficientes de la funcin objetivo del dual

Dualidad (3/4) : Reglas de Transformacin


4. Cambio de minimizar a maximizar
5. Invertir los signos de inecuaciones de las restriciones del
primal en el dual
6. Tomar la transpuesta de los coeficientes de la matriz de
restriicones del primal dentro del dual
7. La transpuesta de el vector fila de coeficientes en la
funcin objetivo del problema primal llega a ser el
vector columna de constantes en las restricciones dual

Dualidad (4/4) : Teoremas de dualidad


Los siguientes teoremas indican la relacin entre la solucin del
primal y dual:
1. El dual del dual es el primal
2. Si ambos el primal y el dual tienen soluciones factibles, la
solucin ptima de ambos es la misma; esto es, mximo
Z=mnimo y
3. Si cualquiera el primal o el dual tienen una solucion infinita,
el otro problema es no factible.

Ejemplo

X2

X2

z 3 x1 5 x2

1 4

x1 4

2 6

Z 36

2 x2 12

31 2 2 18

3 x1 2 x2 18

2 0

x1 0
x2 0
1 0

2,6

X1

Z 20

Z 10

X1

2. Programacin Dinmica

Un poco de Historia
Existen problemas que poseen una estructura especial: las
decisiones son tomadas en forma secuencial, en el tiempo y o
espacio. Es decir, estos problemas pueden descomponerse en varias
etapas las que pueden ser completadas de una o mas formas. Pero,
a pesar de que las decisiones son tomadas de a una, ellas son
altamente interdependientes.
Para resolver este tipo de problemas surgi la programacin
dinmica ( PD), que fue desarrollada por Richard Bellman a
mediados de la dcada del 50. en verdad la palabra dinmica da la
sensacin de decisiones relacionadas con el tiempo no obstante
pueden ser utilizada en situaciones donde el tiempo no es un factor
importante. Por tal motivo tal vez un nombre mas apropiado seria
el de Programamcin de etapas mltiples

Introduccin (1/3)
La programacin dinmica es un procedimiento matemtico
que utiliza la toma de decisiones interrelacionadas, diseado
principalmente para mejorar la eficiencia de calculo de
problemas de programacin matemtica seleccionados,
descomponindolos en subproblemas de menor tamao y por
consiguientes mas fciles de calcular.
No cuenta con una formulacin matemtica estndar para el
problema de programacin dinmica, sino que trata de un
enfoque de tipo general para la solucin de problemas y las
ecuaciones especificas que se usan se deben desarrollar para
que representen cada situacin individual

Introduccin (2/3)
La programacin dinmica comnmente resuelve el problema
por etapas, en donde cada etapa interviene exactamente una
variable de optimizacin (u optimizadora)
Los clculos en las diferentes etapas se enlazan a travs de
clculos recursivos de manera que se genere una solucin
optima factible a todo el problema .
La programacin dinmica resuelve adecuadamente distintas
situaciones donde el tiempo no es un factor importante, su
nombre mas adecuado seria Programacin de etapas mltiples,
ya que el procedimiento determina comnmente la soluciones
en etapa.

Introduccin (3/3)
La teora unificadora fundamental de la programacin
dinmica es el principio de optimilidad, que nos indica
bsicamente como se puede resolver un problema
adecuadamente descompuesto en etapas utilizando clculos
recursivos.
Una poltica optima tiene la propiedad de que,
independientemente de las decisiones tomadas para llegar a
un estado particular, en una etapa particular, las decisiones
restantes deben constituir una poltica optima para
abandonar ese estado en otras palabras, la trayectoria
optima desde el punto de partida al punto final tiene la
propiedad de que para cualquier punto intermedio, la
trayectoria debe ser aquella optima desde el punto de partida
hasta aquel punto intermedio .

Qu requerimos?
Un grado de creatividad
Un buen conocimiento de la estructura general de los
problemas de programacin dinmica para reconocer
cuando un problema se puede resolver por medio de
estos procedimientos y como esto se puede llevar a
cabo.

Caracteristicas
El problema se puede dividir en etapas que requieren una poltica de
decisin en cada una.
Cada etapa tiene cierto numero de de estados asociados a ella
El efecto de la poltica de decisin en cada etapa es transformar el
estado actual en un estado asociado con la siguiente etapa
El procedimiento de solucin esta diseado para encontrar una poltica
optima para el problema
Dado un estado actual, una poltica optima para las etapas restantes es
independiente de la poltica adoptada en las etapas anteriores , se basa
en el principio de optimilidad. El procedimiento de solucin se inicia al
encontrar la poltica optima para la ultima etapa
Se dispone de una relacin recursiva que identifica la poltica optima
par la etapa n dada la poltica optima para la etapa (n+1)

Definiciones
Etapa: parte del problema que posee un conjunto de
alternativas mutuamente excluyentes , de las cuales se
seleccionara la mejor alternativa.
Estado:es aquel que refleja la condicin o estado de las
restricciones que enlazan las etapas.
Procedimiento de avance: los clculos de avanzan de la
primera a la ultima etapa.
Procedimiento de retroceso: los clculos comienzan en la
ultima etapa y despus regresan hacia la etapa 1

Ejemplo tipo
(El problema de la diligencia)
Un cazafortunas de Missouri decide irse al oeste a unirse a la
fiebre del oro en California . Tiene que hacer el viaje en diligencia
a travs de territorios sin ley donde existan serios peligros de ser
atacados por merodeadores. Aun cuando su punto de partida y
destino eran fijos, tenia muchas opciones en cuanto a que estados
deba elegir como puntos intermedios , en la fig. se muestran las
rutas posibles, en donde cada estado esta representado por un
circulo numerado,Se desea estimar la ruta mas segura , como el
costo de la pliza para cualquier jornada de la diligencia esta
basada en una evaluacin de seguridad del recorrido, la ruta mas
segura debe ser aquella que tenga el costo total mas barato.
Cul es la ruta que minimiza el costo total de la pliza ?

Sistema de caminos y los costos del problema de la diligencia

Solucin
Los clculos se realizan en etapas dividiendo el problema en
subproblemas.
Despus se considera por separado cada subproblema con el
fin de reducir el numero de operaciones de calculo.
La programacin dinmica comienza con una pequea
porcin del problema original y encuentra la solucin optima.
Despus agranda gradualmente el problema y encuentra la
solucin optima actual a partir de la que le procede , hasta
resolver el problema original completo.
En cada problema aumentado se puede encontrar la solucin
optima tomando en cuenta los resultados obtenidos en la
interaccin anterior

Procedimiento de solucin
Para este caso se emplear el desarrollo del problema con un
recorrido hacia atrs .
Cuando el cazafortunas tiene una sola etapa por recorrer (n=4),
su ruta de ah en adelante esta perfectamente determinada por su
estado actual (ya sea H o I) y su destino final, x4 = J , de manera
que la ruta para esta ultima jornada en diligencias es S J
La solucin al problema es:
f*4 (H) = 3
f*4 (I) = 4

Procedimiento de solucin
Cuando se tiene tiene dos etapas por recorrer (n=3), se analiza de
la siguiente manera , supngase que se encuentra en el estado F.
Entonces como se ve en la figura debe ir al estado H o al estado I a
un costo de cF,H = 6 o cF,I =3. Si se elige el estado H, el costo
adicional mnimo al llegar ah es 3, por tanto el costo de decisin
es 6+3=9, de igual manera si se elige el estado I, el costo total es
3+4=7 que es menor por lo tanto se escoger el estado I.

Procedimiento de solucin
Se trabaja de manera similar con los otros dos estados posibles
s=E y s=G, cuando quedan dos jornadas por viajar,los
resultados son:
f*3 (E) = 4
f*3 (F) = 7
f*3 (G) = 6

Procedimiento de solucin
La solucion para el problema de tres etapas (n=2) se obtiene en
forma parecida , por ejemplo supongase que el agente se encuentra
en el estado C , como se muestra el diagrama. Ahora debera ir al
estado E, F o G con un costo inmediato de cC,E =3 o cC,F =2
cC,G=4 , respectivamente.

Procedimiento de solucin
Al llegar aqu el costo adicional mnimo hasta llegar a su destino esta
dado de la siguiente manera:
x2 = E

f2(C,E) = cC,E + f*3(E) = 3 + 4 = 7

x2 = F

f2(C,F) = cC,F + f*3(F) = 2 + 7 = 9

x2 = G

f2(C,G) = cC,G + f*3(G) = 4 + 6 = 10

El mnimo de estos tres nmeros es 7, por lo que el costo mnimo


desde el estado c al final es f*2(C) = 7
Y el destino inmediato debe ser x*2 = E , se realizan clculos
similares cuando se comienza desde el estado B o D.
Los resultados son:
f*2 (B) = 11
f*2 (C) = 7

Procedimiento de solucin
Si se pasa al problema de cuatro etapas (n=1), los clculos son
parecidos a los que se acaban de mostrar para el problema de tres
etapas (n=2) , excepto que ahora hay solo un inicio posible, s=A ,
como se muestra el diagrama.

Procedimiento de solucin
los resultados se resumen de la siguiente manera :
x1 = B

f1(A,B) = cA,B + f*2(B) = 2 + 11 = 13

x1 = C

f1(A,C) = cA,C + f*2(C) = 4 + 7 = 11

x1 = D

f1(A,D) = cA,D + f*2(D) = 3 + 8 = 11

Como el minimo es 11, por tanto los caminos pueden ser C o D.


En este punto se puede identificar la solucin optima. Los
resultados indican los caminos ptimos a seguir:
ADEHJ A DFIJ, las dos tienen un costo
total de 11

Ejemplo Aplicativo
Sean cuatro unidades trmicas generadoras cuyas caractersticas se describen en los
siguientes cuadros:

Unidad

Min
(MW)

Max
(MW)

Consumo
incremental
(MBtu/MWh)

Costo sin
carga
(UM/h)

Costo
promedio a
plena carga

20

80

10.896

210.700

24.41

200

8.100

527.058

18.84

50

250

8.730

684.74

20.20

15

60

220.48

22.77

2
3

40

9.550

Ejemplo Aplicativo
Costos de arranque
Unida
d

Horas fuera
de lnea (-) o
en linea (+)

Caliente
(UM)

Frio
(UM)

-8

0.02

170

-4

-4

Tiempos mnimos
Tiempos de
arranque en
frio (h)

Apagarse
(h)

Prenderse
(h)

400

300

700

150

300

El costo del combustible para las cuatro unidades es de 2 UM/MBtu.

Los perodos en que se discretiza la demanda son 6, para los cuales las demandas de
carga son:
Periodos (h) Demanda (MW)
1

200

300

450

400

550

350

Ejemplo Aplicativo
Ordenando las unidades, el
siguiente cuadro muestra las
combinaciones posibles con
la capacidad neta mxima:

Estado

Combinacin
de Unidades

Capacidad Neta
Mxima (MW)

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

1111
1110
111
110
1011
1101
1010
11
1100
101
10
100
1001
1000
1
0

590
530
510
450
390
340
330
310
280
260
250
200
140
80
60
0

Ejemplo Aplicativo
Donde en la combinacin de unidades:
1: Unidad operativa
0: Unidad fuera de servicio
Se parte del estado inicial 4: 0100, este indica que solo la unidad 2 se encuentra
operativa. Para determinar el Compromiso de Unidades por Programacin
Dinmica, se pueden resumir los pasos seguir:
1.

Partir de un estado inicial.

2.

Determinar todos los estados factibles que satisfagan la demanda requerida en un


perodo.

3.

Asignar a cada unidad una potencia determinada tal que nos permita obtener un
costo mnimo de operacin. Por ejemplo, se puede recurrir al diagrama de flujo
mostrado en la figura

4.

Hallar los costos mnimos para cada estado considerando costos de arranque en fro
de la unidad (si sta no se encuentra operativa en el perodo anterior).

5.

Determinar el estado con el menor costo y para continuar con el siguiente perodo
regresar al paso 2.

Ejemplo Aplicativo
Resumiendo los pasos anteriores, para solucionar el problema planteado se
tiene:
Perodo 1

Demanda de carga: 200 MW

Estado

P1
(MW)

P2
(MW)

P3
(MW)

P4
(MW)

Costo(*)
(UM/h)

15
14
13
12
11
10
9
8
7
6
5
4

20
20
0
0
20
20
20
0
20
0
0
0

115
130
135
150
0
165
0
0
180
185
0
200

50
50
50
50
165
0
180
185
0
0
200
0

15
0
15
0
15
15
0
15
0
15
0
0

6101.34
5537.36
5778.78
5214.8
5719.18
4653.6
5174.1
5421.82
4089.62
4330.56
4876.74
3767.06

Ejemplo Aplicativo
Se deduce que el estado factible con el mnimo costo es el estado 4, entonces la
unidad 2 se encontrara operando al inicio del siguiente perodo.

Perodo 2

Demanda de carga: 300 MW


Estado
15
14
13
12
11
10
9
8

P1
(MW)
20
20
0
0
20
40
50
0

P2
(MW)
200
200
200
200
0
200
0
0

P3
(MW)
65
80
85
100
250
0
250
250

P4
(MW)
15
0
15
0
30
60
0
50

Costo
(UM/h)
7740.2
7195.2
7442.9
6897.8
7489.8
6515.9
7050.1
7225.2

Se deduce que el estado factible con el mnimo costo es el estado 10, entonces las
unidades 1, 2 y 4 se encontraran operando al inicio del siguiente perodo.

Ejemplo Aplicativo
Perodo 3

Demanda de carga: 450 MW


Estado
15
14
13
12

P1
(MW)
20
20
0
0

P2
(MW)
200
200
200
200

P3
(MW)
215
230
235
250

P4
(MW)
15
0
15
0

Costo
(UM/h)
10059
9814.1
9761.9
9516.8

Se deduce que el estado factible con el mnimo costo es el estado 12, entonces las
unidades 2 y 3 se encontraran operando al inicio del siguiente perodo.

Perodo 4

Demanda de carga:400 MW
Estado
15
14
13
12

P1
(MW)
20
20
0
0

P2
(MW)
200
200
200
200

P3
(MW)
165
230
185
200

P4
(MW)
15
0
15
0

Costo
(UM/h)
8786.2
8241.2
8488.9
7943.8

Ejemplo Aplicativo
Se deduce que el estado factible con el mnimo costo es el estado 12, entonces las
unidades 2 y 3 se encontraran operando al inicio del siguiente perodo.
Perodo 5

Demanda de carga:550 MW
Estado
15

P1
(MW)
40

P2
(MW)
200

P3
(MW)
250

P4
(MW)
60

Costo
(UM/h)
11566

Se deduce que el nico estado factible con el mnimo costo es el estado 15, entonces
todas las unidades se encontraran operando al inicio del siguiente perodo.
Perodo 6

Demanda de carga: 350 MW


Estado
15
14
13
12
11

P1
(MW)
20
20
0
0
40

P2
(MW)
200
200
200
200
0

P3
(MW)
115
130
135
150
250

P4
(MW)
15
0
15
0
60

Costo
(UM/h)
7613.2
7368.1
7315.9
7070.8
7498.6

Ejemplo Aplicativo
Se deduce que el estado factible con el mnimo costo es el estado 12, entonces las
unidades 2 y 3 se encontraran operando al inicio del siguiente perodo.

También podría gustarte