Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3...
Transcript of Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3...
![Page 1: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/1.jpg)
PPrrooggrraammaacciióónn lliinneeaall eenntteerraa--mmiixxttaa
José Manuel Arroyo Sánchez
ÁÁrreeaa ddee IInnggeenniieerrííaa EEllééccttrriiccaa UUnniivveerrssiiddaadd ddee CCaassttiillllaa –– LLaa MMaanncchhaa
1
![Page 2: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/2.jpg)
PROGRAMACIÓN LINEAL ENTERA-MIXTA BIBLIOGRAFÍA
• G. L. NEMHAUSER, L. A. WOLSEY. “INTEGER AND COMBINATORIAL OPTIMIZATION”. JOHN WILEY & SONS. NEW YORK. 1988.
• S. P. BRADLEY, A. C. HAX, T. L. MAGNANTI. “APPLIED MATHEMATICAL
PROGRAMMING”. ADDISON-WESLEY PUBLISHING COMPANY. READING, MASSACHUSETTS. 1977.
• E. CASTILLO, A. J. CONEJO, P. PEDREGAL, R. GARCÍA, N. ALGUACIL.
“BUILDING AND SOLVING MATHEMATICAL PROGRAMMING MODELS IN ENGINEERING AND SCIENCE”. JOHN WILEY & SONS. NEW YORK. 2002.
2
![Page 3: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/3.jpg)
PROGRAMACIÓN LINEAL ENTERA-MIXTA CONTENIDOS
• INTRODUCCIÓN • MÉTODOS DE RESOLUCIÓN • APLICACIONES GENERALES • APLICACIONES EN INGENIERÍA ELÉCTRICA
3
![Page 4: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/4.jpg)
INTRODUCCIÓN ¿QUÉ ES UN PROBLEMA DE PLEM?
• PROBLEMA DE OPTIMIZACIÓN • FUNCIÓN OBJETIVO Y RESTRICCIONES LINEALES • VARIABLES ENTERAS Y CONTINUAS • SI TODAS LAS VARIABLES SON ENTERAS ⇒ PROGRAMACIÓN LINEAL
ENTERA ESTRICTA • SI LAS VARIABLES ENTERAS SON BINARIAS ⇒ PROGRAMACIÓN LINEAL
ENTERA-MIXTA 0/1 ⇒ ¡¡¡INTERÉS PRÁCTICO EN INGENIERÍA ELÉCTRICA!!!
4
![Page 5: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/5.jpg)
INTRODUCCIÓN FORMULACIÓN GENERAL DE UN PLEM
∑=
=n
1jjjxcz MINIMIZAR
SUJETO A:
m1i;bxa i
n
1jjij K==∑
=
n1j;0x j K=≥
n1j ALGÚN PARA;Ix j K=∈
{ }K 2 ,1 ,0I =
5
![Page 6: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/6.jpg)
INTRODUCCIÓN CONJUNTO DE SOLUCIONES FACTIBLES
6
![Page 7: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/7.jpg)
INTRODUCCIÓN EJEMPLO DE UN PLEM
21 x8x5z MAXIMIZAR +=
SUJETO A:
0x1 ≥
0x2 ≥
6xx 21 ≤+
45x9x5 21 ≤+
Ix,x 21 ∈
7
![Page 8: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/8.jpg)
INTRODUCCIÓN EJEMPLO DE UN PLEM. REGIÓN FACTIBLE
8
![Page 9: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/9.jpg)
INTRODUCCIÓN EJEMPLO DE UN PLEM. SOLUCIÓN
PROBLEMA LINEAL RELAJADO
PLEM
ÓPTIMO
REDONDEO
SOLUCIÓN ENTERA MÁS PRÓXIMA
ÓPTIMO
x1
02.25
2
02
00
x2
03.75
4
03
05
z
41.25
INFACTIBLE
34
40
LA SOLUCIÓN FACTIBLE MÁS PRÓXIMA A LA SOLUCIÓN DEL PROBLEMA LINEAL RELAJADO NO ES LA SOLUCIÓN ÓPTIMA DE PLEM NECESIDAD DE TÉCNICAS DE RESOLUCIÓN
9
![Page 10: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/10.jpg)
INTRODUCCIÓN VARIABLES BINARIAS (0/1)
• SÓLO PUEDEN TOMAR LOS VALORES 0 Ó 1 ⇒ ↑↑ COMPLEJIDAD PROBLEMA
LINEAL POR FALTA DE CONTINUIDAD • ÚTILES EN PROBLEMAS EN LOS QUE LAS VARIABLES SÓLO PUEDEN TOMAR
2 VALORES:
LUGAR TIENE NO SITUACIÓN LA
LUGAR TIENE SITUACIÓN LA
0
1x
⇒
⇒
⎪⎩
⎪⎨
⎧=
10
![Page 11: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/11.jpg)
INTRODUCCIÓN VARIABLES BINARIAS (0/1)
• TAMBIÉN ÚTILES PARA MODELAR NO LINEALIDADES:
CONJUNTOS ALTERNATIVOS DE RESTRICCIONES
RESTRICCIONES CONDICIONALES
FUNCIONES DISCONTINUAS
FUNCIONES LINEALES A TRAMOS Y NO CONVEXAS • EJEMPLOS: PROBLEMA DE LA MOCHILA, PROBLEMA DEL VIAJERO,
PROGRAMACIÓN HORARIA (ARRANQUE Y PARADA DE GRUPOS GENERADORES)
11
![Page 12: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/12.jpg)
INTRODUCCIÓN MÉTODOS DE RESOLUCIÓN
• BRANCH & BOUND (RAMIFICACIÓN Y ACOTACIÓN) • CORTES DE GOMORY • BRANCH & CUT (RAMIFICACIÓN Y CORTES)
12
![Page 13: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/13.jpg)
INTRODUCCIÓN VENTAJAS DE LA PLEM
• CONVERGENCIA AL ÓPTIMO EN UN TIEMPO FINITO • CONOCIMIENTO DE PROXIMIDAD AL ÓPTIMO (DIFERENCIA DE COTAS) • DESARROLLO DE SOFTWARE DE CÁLCULO (CPLEX, XPRESS)
13
![Page 14: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/14.jpg)
PROGRAMACIÓN LINEAL ENTERA-MIXTA CONTENIDOS
• INTRODUCCIÓN • MÉTODOS DE RESOLUCIÓN • APLICACIONES GENERALES • APLICACIONES EN INGENIERÍA ELÉCTRICA
14
![Page 15: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/15.jpg)
BRANCH & BOUND • RESOLUCIÓN DE SECUENCIA ORDENADA DE PROBLEMAS DE
PROGRAMACIÓN LINEAL:
RELAJACIÓN DE RESTRICCIONES DE INTEGRALIDAD
RESTRICCIONES ADICIONALES CUYO NÚMERO CRECE A MEDIDA QUE PROGRESA EL PROCEDIMIENTO ⇒ PROBLEMA CADA VEZ MÁS RESTRINGIDO
CONVERGENCIA FINITA AL ÓPTIMO
15
![Page 16: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/16.jpg)
BRANCH & BOUND • ESTABLECIMIENTO DE:
COTA SUPERIOR (z) ⇒ CUALQUIER SOLUCIÓN FACTIBLE DE PLEM 0/1
COTA INFERIOR (z) ⇒ SOLUCIÓN ÓPTIMA PROBLEMA LINEAL RELAJADO
zzz * ≤≤
• PROCEDIMIENTOS DE RAMIFICACIÓN ⇒ ↓ COTA SUPERIOR, ↑ COTA INFERIOR
• DIFERENCIA ENTRE COTAS ⇒ MEDIDA DE CERCANÍA AL ÓPTIMO
16
![Page 17: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/17.jpg)
ELEMENTOS DEL ALGORITMO DE BRANCH & BOUND • ESTABLECIMIENTO DE COTAS
• RAMIFICACIÓN
• RESOLUCIÓN DE PL CADA VEZ MÁS RESTRINGIDOS • ACTUALIZACIÓN DE COTAS
17
![Page 18: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/18.jpg)
ALGORITMO DE BRANCH & BOUND • PASO 1 (INICIACIÓN):
+∞=z
−∞=z
RESOLUCIÓN DE PROBLEMA LINEAL RELAJADO (PLR):
− INFACTIBLE ⇒ PROBLEMA ORIGINAL INFACTIBLE ⇒ FIN
− FACTIBLE:
SI SE CUMPLE INTEGRALIDAD ⇒ SOLUCIÓN ÓPTIMA ⇒ FIN
SI NO SE CUMPLE INTEGRALIDAD ⇒ Rzz = ⇒ IR A PASO 2
18
![Page 19: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/19.jpg)
ALGORITMO DE BRANCH & BOUND • PASO 2 (RAMIFICACIÓN):
SE ELIGE xk QUE NO CUMPLE INTEGRALIDAD EN PLR ( b.axk = )
GENERACIÓN DE 2 PROBLEMAS LINEALES RELAJADOS:
INCLUSIÓN DE LOS NUEVOS PROBLEMAS LINEALES RELAJADOS EN LA LISTA DE PROBLEMAS A RESOLVER ⇒ RESOLUCIÓN SECUENCIAL O PARALELA ⇒ PASO 3
19
![Page 20: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/20.jpg)
ALGORITMO DE BRANCH & BOUND • PASO 3 (RESOLUCIÓN):
SE RESUELVE EL PRÓXIMO PROBLEMA EN LA LISTA ( )⇒ ALGORITMO SIMPLEX DUAL ACONSEJABLE ⇒ IR A PASO 4
*Rz
• PASO 4 (ACTUALIZACIÓN DE COTAS):
FACTIBLE, SE CUMPLE INTEGRALIDAD Y zz*
R ≤ ⇒ *Rzz = ⇒ SOLUCIÓN
CANDIDATA A MINIMIZADOR ⇒ IR A PASO 5
FACTIBLE, NO SE CUMPLE INTEGRALIDAD Y zzz *R ≤≤ ⇒
− *
Rzz =
− RAMIFICACIÓN E INCLUSIÓN DE NUEVOS PROBLEMAS RELAJADOS EN LA LISTA ⇒ IR A PASO 2
FACTIBLE, NO SE CUMPLE INTEGRALIDAD Y zz*
R ≥ ⇒ IR A PASO 5
INFACTIBLE ⇒ IR A PASO 5 20
![Page 21: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/21.jpg)
ALGORITMO DE BRANCH & BOUND • PASO 5 (PODA):
PODA POR INTEGRALIDAD ⇒ IR A PASO 6
PODA POR COTAS ⇒ IR A PASO 6
PODA POR INFACTIBILIDAD ⇒ IR A PASO 6 • PASO 6 (OPTIMALIDAD):
LISTA DE PROBLEMAS NO VACÍA ⇒ IR A PASO 3
LISTA DE PROBLEMAS VACÍA ⇒ FIN
21
![Page 22: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/22.jpg)
ALGORITMO DE BRANCH & BOUND
22
![Page 23: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/23.jpg)
ALGORITMO DE BRANCH & BOUND ESTRATEGIAS DE RAMIFICACIÓN Y PROCESAMIENTO
ELECCIÓN ADECUADA DE LA VARIABLE CANDIDATA PARA LA RAMIFICACIÓN ⇒ DEPENDE DE LA ESTRUCTURA DEL PROBLEMA
• ESTRATEGIAS EN ANCHURA ⇒ RESOLUCIÓN DE PROBLEMAS SIMILARES ⇒
VENTAJAS COMPUTACIONALES
• ESTRATEGIAS EN PROFUNDIDAD ⇒ PRODUCE RÁPIDAMENTE zzz *R ≤≤ Y
zzz *R ≤≤ Y PODAS POR INFACTIBILIDAD
• ESTRATEGIAS MIXTAS
BÚSQUEDA EN ANCHURA BÚSQUEDA EN PROFUNDIDAD
23
![Page 24: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/24.jpg)
ALGORITMO DE BRANCH & BOUND
• PROGRAMACIÓN LINEAL ENTERA ESTRICTA ⇒ PUEDE SER NECESARIO
RAMIFICAR TODAS LAS VARIABLES DEL PROBLEMA
• PROGRAMACIÓN LINEAL ENTERA-MIXTA 0/1 ⇒ RAMIFICACIÓN DE VARIABLES 0/1 IMPLICA FIJAR LAS VARIABLES BINARIAS A 0 Ó 1
24
![Page 25: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/25.jpg)
EJEMPLO I PROGRAMACIÓN LINEAL ENTERA ESTRICTA
21 xxz MINIMIZAR −−= SUJETO A:
0x1 ≤−
1x2x2 21 ≤−
9x2 2 ≤
Ix,x 21 ∈
25
![Page 26: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/26.jpg)
EJEMPLO I REGIÓN FACTIBLE
26
![Page 27: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/27.jpg)
EJEMPLO II PROGRAMACIÓN LINEAL ENTERA-MIXTA
21 x2x3z MINIMIZAR +=
SUJETO A:
5.2xx2x 321 =+−
5.1xxx2 421 =++
0x,x,x,x 4321 ≥
Ix,x 32 ∈
27
![Page 28: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/28.jpg)
CORTES DE GOMORY • RESOLUCIÓN DEL PROBLEMA ORIGINAL RELAJADO (PLR) INCLUYENDO
RESTRICCIONES ADICIONALES LLAMADAS CORTES DE GOMORY • PROCESO ITERATIVO ⇒ 1 CORTE DE GOMORY ADICIONAL POR ITERACIÓN
• SE REDUCE PROGRESIVAMENTE LA REGIÓN FACTIBLE SIN EXCLUIR SOLUCIONES ÓPTIMAS
• CONVERGENCIA FINITA AL ÓPTIMO
28
![Page 29: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/29.jpg)
CORTES DE GOMORY
29
![Page 30: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/30.jpg)
GENERACIÓN DE CORTES DE GOMORY REGIÓN FACTIBLE:
bAx = 0x ≥
EMPLEANDO NOTACIÓN ESTÁNDAR DEL MÉTODO SIMPLEX:
bNxBx NB =+
bBNxBx 1N
1B
−− =+
b~Uxx NB =+ PARA UNA VARIABLE BÁSICA IxBi ∈ QUE NO ES ENTERA EN PLR:
iNjj
ijBi b~xux =+∑
DONDE Ib~i ∉
30
![Page 31: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/31.jpg)
GENERACIÓN DE CORTES DE GOMORY SI SE EXPRESAN uij Y COMO SUMA DE UNA PARTE ENTERA Y UNA PARTE DECIMAL:
ib~
ijijij fiu +=
i i i f~i~b~ +=
DONDE Y 0fij ≥ 0f~i > POR LO TANTO:
( ) i i j
NjijijBi f~i~xfix +=++∑
∑∑ −=−+j
Njiji i j
NjijBi xff~i~xix
31
![Page 32: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/32.jpg)
GENERACIÓN DE CORTES DE GOMORY POR LO TANTO DEBE SER: ∑−
jNjiji xff~
ENTERO, YA QUE i
jNjijBi i~xix −+∑ ES ENTERO
MENOR QUE , QUE ES UNA FRACCIÓN POSITIVA MENOR QUE 1, YA QUE
i f~
0xfj
Njij ≥∑
CONCLUSIÓN: SE DEFINE EL CORTE DE GOMORY ASOCIADO A LA VARIABLE BÁSICA : Bix
0xff~
jNjiji ≤−∑
O IGUALMENTE,
0f~xf i j
Njij ≥−∑
32
![Page 33: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/33.jpg)
ALGORITMO DE CORTES DE GOMORY • PASO 1 (INICIACIÓN): RESOLUCIÓN DE PROBLEMA LINEAL RELAJADO (PLR)
INFACTIBLE ⇒ PROBLEMA ORIGINAL INFACTIBLE ⇒ FIN
FACTIBLE ⇒ IR A PASO 2 • PASO 2 (CONTROL DE OPTIMALIDAD):
SI SE CUMPLE INTEGRALIDAD ⇒ SOLUCIÓN ÓPTIMA ⇒ FIN
SI NO SE CUMPLE INTEGRALIDAD ⇒ IR A PASO 3
33
![Page 34: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/34.jpg)
ALGORITMO DE CORTES DE GOMORY • PASO 3 (GENERACIÓN DE CORTE): SE EMPLEA UNA VARIABLE BÁSICA QUE
HA DE SER ENTERA Y NO LO ES, Y SE GENERA EL CORTE DE GOMORY • PASO 4 (RESOLUCIÓN):
SE AÑADE EL CORTE Y SE RESUELVE EL NUEVO PLR ⇒ IR A PASO 2
MÉTODO SIMPLEX DUAL ACONSEJABLE
34
![Page 35: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/35.jpg)
EJEMPLO I PROGRAMACIÓN LINEAL ENTERA ESTRICTA
21 xxz MINIMIZAR −−= SUJETO A:
0x1 ≤−
1x2x2 21 ≤−
9x2 2 ≤
Ix,x 21 ∈
35
![Page 36: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/36.jpg)
BRANCH & CUT • COMBINACIÓN DE BRANCH & BOUND Y DE GENERACIÓN DE CORTES • USO DE HEURÍSTICOS QUE REDUCEN LA REGIÓN FACTIBLE • REDUCCIÓN ESPECTACULAR DE TIEMPO DE CÁLCULO ⇒ CPLEX, XPRESS
36
![Page 37: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/37.jpg)
PROGRAMACIÓN LINEAL ENTERA-MIXTA CONTENIDOS
• INTRODUCCIÓN • MÉTODOS DE RESOLUCIÓN • APLICACIONES GENERALES • APLICACIONES EN INGENIERÍA ELÉCTRICA
37
![Page 38: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/38.jpg)
RESTRICCIONES LÓGICAS FACTIBILIDAD DE UNA RESTRICCIÓN
¿CUÁNDO SE CUMPLE LA RESTRICCIÓN ( ) bx,,x,xf n21 ≤K ? MODELO PLEM 0/1: ( ) bByx,,x,xf n21 ≤−K
(1)
CUMPLE SE NO NRESTRICCIÓ LA
CUMPLE SE NRESTRICCIÓ LA
1
0y
⇒
⇒
⎪⎩
⎪⎨
⎧= (2)
DONDE B ES UNA CONSTANTE POSITIVA SUFICIENTEMENTE GRANDE TAL QUE CUANDO LA RESTRICCIÓN NO SE CUMPLE, 1y = , (1) NO SE ACTIVA ADECUADA ELECCIÓN DE B ⇒ EVITAR PROBLEMAS NUMÉRICOS
38
![Page 39: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/39.jpg)
RESTRICCIONES LÓGICAS RESTRICCIONES ALTERNATIVAS I
SE DEBE CUMPLIR AL MENOS UNA DE LAS SIGUIENTES RESTRICCIONES: ( ) 1n211 bx,,x,xf ≤K
( ) 2n212 bx,,x,xf ≤K
39
![Page 40: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/40.jpg)
RESTRICCIONES LÓGICAS RESTRICCIONES ALTERNATIVAS I
MODELO PLEM 0/1: ( ) 111n211 byBx,,x,xf ≤−K
(1)
( ) 222n212 byBx,,x,xf ≤−K
(2)
1yy 21 ≤+
(3)
{ }1,0y,y 21 ∈ (4) DONDE B1 Y B2 SON CONSTANTES POSITIVAS SUFICIENTEMENTE GRANDES
40
![Page 41: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/41.jpg)
RESTRICCIONES LÓGICAS RESTRICCIONES ALTERNATIVAS II
SE DEBE CUMPLIR SÓLO UNA DE LAS SIGUIENTES RESTRICCIONES: ( ) 1n211 bx,,x,xf ≤K
( ) 2n212 bx,,x,xf ≤K
MODELO PLEM 0/1 (I): ( ) 111n211 byBx,,x,xf ≤−K
(1)
( ) 222n212 byBx,,x,xf ≤−K
(2)
1yy 21 =+
(3)
{ }1,0y,y 21 ∈ (4) DONDE B1 Y B2 SON CONSTANTES POSITIVAS SUFICIENTEMENTE GRANDES
41
![Page 42: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/42.jpg)
RESTRICCIONES LÓGICAS RESTRICCIONES ALTERNATIVAS II
MODELO PLEM 0/1 (II): ( ) 111n211 byBx,,x,xf ≤−K
(1)
( ) ( ) 212n212 by1Bx,,x,xf ≤−−K
(2)
{ }1,0y1∈ (3) DONDE B1 Y B2 SON CONSTANTES POSITIVAS SUFICIENTEMENTE GRANDES AHORRO DE 1 VARIABLE BINARIA ⇒ ↓↓↓ COMPLEJIDAD COMPUTACIONAL (ÁRBOL DE BÚSQUEDA DEL BRANCH & BOUND REDUCIDO)
42
![Page 43: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/43.jpg)
RESTRICCIONES LÓGICAS RESTRICCIONES ALTERNATIVAS III
SE DEBEN CUMPLIR AL MENOS k DE LAS SIGUIENTES RESTRICCIONES: ( ) jn21j bx,,x,xf ≤K , p1j K=
MODELO PLEM 0/1: ( ) ( ) jjjn21j by1Bx,,x,xf ≤−−K , p1j K=
(1)
kyp
1jj ≥∑
=
(2)
CUMPLE SE NO j NRESTRICCIÓ LA
CUMPLE SE j NRESTRICCIÓ LA
0
1yj
⇒
⇒
⎪⎩
⎪⎨
⎧= , p1j K=
(4)
DONDE Bj SON CONSTANTES POSITIVAS SUFICIENTEMENTE GRANDES
43
![Page 44: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/44.jpg)
RESTRICCIONES LÓGICAS ALTERNATIVAS COMPUESTAS
REGIÓN FACTIBLE DEFINIDA POR CONJUNTOS ALTERNATIVOS DE RESTRICCIONES (NO NECESARIAMENTE DISJUNTOS):
44
![Page 45: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/45.jpg)
RESTRICCIONES LÓGICAS ALTERNATIVAS COMPUESTAS
MODELO PLEM 0/1: ( ) 111211 byBx,xf ≤− (1)
( ) 212212 byBx,xf ≤− (2)
( ) 323213 byBx,xf ≤− (3)
( ) 424214 byBx,xf ≤− (4)
( ) 535215 byBx,xf ≤− (5)
( ) 636216 byBx,xf ≤− (6)
( ) 737217 byBx,xf ≤− (7)
2yyy 321 ≤++ (8)
0x,x 21 ≥ (9)
{ }1,0y,y,y 321 ∈ (10)
DONDE B1 - B7 SON CONSTANTES POSITIVAS SUFICIENTEMENTE GRANDES
45
![Page 46: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/46.jpg)
RESTRICCIONES LÓGICAS RESTRICCIONES CONDICIONALES
( ) 1n211 bx,,x,xf >K IMPLICA QUE ( ) 2n212 bx,,x,xf ≤K (CONDICIÓN IF ... THEN)
EQUIVALENTE A RESTRICCIONES ALTERNATIVAS (AL MENOS UNA SE DEBE CUMPLIR): ( ) 1n211 bx,,x,xf ≤K Y/O ( ) 2n212 bx,,x,xf ≤K
46
![Page 47: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/47.jpg)
MODELADO DE FUNCIONES NO LINEALES DISCONTINUIDAD
( )Bx0 SI
0x SI
cxK
0xf
≤<
=
⎪⎩
⎪⎨
⎧
+=
EJEMPLO PRÁCTICO: COSTES FIJO (K) Y VARIABLE (c) DE UNA CENTRAL ELÉCTRICA
47
![Page 48: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/48.jpg)
MODELADO DE FUNCIONES NO LINEALES DISCONTINUIDAD
MODELO PLEM 0/1: ( ) cxKyxf +=
(1)
Byx ≤
(2)
0x ≥
(3)
{ }1,0y∈ (4) DONDE: B ≡ VALOR MÁXIMO DE x (POTENCIA MÁXIMA NOMINAL) y ≡ VARIABLE 0/1 IGUAL A 0 SI x = 0 (NO SE INCURRE EN EL COSTE FIJO), E IGUAL A 1 EN OTRO CASO (SÍ SE INCURRE EN EL COSTE FIJO) ¡¡¡OJO, SÓLO FUNCIONA SI SE MINIMIZA f(x) Y K > 0!!!
48
![Page 49: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/49.jpg)
MODELADO DE FUNCIONES NO LINEALES FUNCIONES NO CONVEXAS A TROZOS
( ) ( )
( ) ( )⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
≤<
≤<
≤≤
−γ+−β+α
−β+α
α
=
cxb
bxa
ax0
bxaba
axa
x
xf
DONDE:
γ<α<β<0
cba0 <<<
49
![Page 50: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/50.jpg)
MODELADO DE FUNCIONES NO LINEALES FUNCIONES NO CONVEXAS A TROZOS
MODELO PLEM 0/1: ( ) 321 xxxxf γ+β+α=
(1)
321 xxxx ++=
(2)
axay 11 ≤≤
(3)
( ) ( ) 122 yabxyab −≤≤−
(4)
( ) 23 ybcx0 −≤≤
(5)
{ }1,0y,y 21 ∈
(6)
OJO, (4) IMPIDE LA COMBINACIÓN 0y1 = , 1y2 = ⇒ 3 COMBINACIONES POSIBLES
50
![Page 51: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/51.jpg)
MODELADO DE FUNCIONES NO LINEALES FUNCIONES NO CONVEXAS A TROZOS
xj ≡ TROZO j DE x
CASO OTRO EN
ax SI
0
1y
1
1
=
⎪⎩
⎪⎨
⎧=
CASO OTRO EN
bx SI
0
1y
2
2
=
⎪⎩
⎪⎨
⎧=
PARA EL CASO GENERAL LA RESTRICCIÓN PARA EL TROZO j ES:
1jjjjj yLxyL −≤≤ DONDE Lj REPRESENTA LA LONGITUD DEL TRAMO j SI LA FUNCIÓN ES CONVEXA Y EL PROBLEMA ES DE MINIMIZACIÓN LAS VARIABLES 0/1 NO SON NECESARIAS
51
![Page 52: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/52.jpg)
MODELADO DE FUNCIONES NO LINEALES FUNCIONES NO CONVEXAS A TROZOS CON
DISCONTINUIDAD INICIAL
( )( )
( ) ( )
( ) ( ) ( )⎪⎪⎪⎪
⎩
⎪⎪⎪⎪
⎨
⎧
≤<
≤<
≤<
≤≤
−γ+−β+−α+
−β+−α+
−α+=
dxc
cxb
bxa
ax0
cxbcabf
bxabf
axf
0
xf
0
0
0
DONDE:
γ<α<β<0
cba0 <<<
52
![Page 53: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/53.jpg)
MODELADO DE FUNCIONES NO LINEALES FUNCIONES NO CONVEXAS A TROZOS CON
DISCONTINUIDAD INICIAL
53
![Page 54: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/54.jpg)
MODELADO DE FUNCIONES NO LINEALES FUNCIONES NO CONVEXAS A TROZOS CON
DISCONTINUIDAD INICIAL MODELO PLEM 0/1: ( ) 3210 xxxvfxf γ+β+α+=
(1)
321 xxxvax +++=
(2)
( ) ( )vabxyab 11 −≤≤−
(3)
( ) ( ) 122 ybcxybc −≤≤−
(4)
( ) 23 ycdx0 −≤≤
(5)
{ }1,0y,y,v 21 ∈
(6)
OJO, (3) IMPIDE Y (4) IMPIDE LA COMBINACIÓN vyj > 0y1 = , 1y2 = ⇒ 4 COMBINACIONES POSIBLES
54
![Page 55: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/55.jpg)
MODELADO DE FUNCIONES NO LINEALES APROXIMACIÓN LINEAL A TROZOS
iU
pi
iU u i
Puntos de mejor eficiencia local
Linealización cóncava a trozos
NO CONCAVIDAD ⇒ VARIABLES BINARIAS ↑↑ PRECISIÓN ⇒ ↑↑ TRAMOS LINEALES
55
![Page 56: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/56.jpg)
MODELADO DEL PRODUCTO DE VARIABLES BINARIAS
∏=
=n
1iixz , { }1,0xi ∈
MODELO PLEM 0/1:
0z ≥
(1)
ixz ≤ , n,,1i K=
(2)
1nxzn
1ii +−≥ ∑
=
(3)
{ }1,0xi ∈ (4) (3) SÓLO SE ACTIVA CUANDO TODOS LOS xi SON IGUALES A 1
56
![Page 57: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/57.jpg)
MODELADO DEL PRODUCTO DE UNA VARIABLE BINARIA Y UNA VARIABLE CONTINUA
xpz = , { }1,0x∈ , [ ]maxmin p,pp∈
MODELO PLEM 0/1:
rpz −=
(1)
maxmin xpzxp ≤≤
(2)
( ) ( ) maxmin px1rpx1 −≤≤−
(3)
{ }1,0x∈ (4)
[ ]maxmin p,pr ∈ (5) DONDE r ES UNA VARIABLE CONTINUA AUXILIAR
57
![Page 58: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/58.jpg)
MODELADO DEL PRODUCTO DE LAS CONDICIONES DE COMPLEMENTARIEDAD
0f =π , 0≥π , 0f ≥
MODELO PLEM 0/1 (EXPRESIÓN DE FORTUNY-AMAT):
My≤π
(1)
0≥π (2)
( )y1Mf −≤
(3)
0f ≥
(4)
{ }1,0y∈
(5)
DONDE M ES UNA CONSTANTE POSITIVA SUFICIENTEMENTE GRANDE
58
![Page 59: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/59.jpg)
PROGRAMACIÓN LINEAL ENTERA-MIXTA CONTENIDOS
• INTRODUCCIÓN • MÉTODOS DE RESOLUCIÓN • APLICACIONES GENERALES • APLICACIONES EN INGENIERÍA ELÉCTRICA
59
![Page 60: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/60.jpg)
OPERACIÓN DE UNA CENTRAL TÉRMICA
• LÍMITES MÁXIMO Y MÍNIMO DE PRODUCCIÓN • TIEMPOS MÍNIMOS DE FUNCIONAMIENTO Y DE PARADA • RAMPAS: SUBIDA, BAJADA, ARRANQUE Y PARADA • RESERVA RODANTE • COSTES: DE PRODUCCIÓN (FIJOS Y VARIABLES), DE ARRANQUE Y DE
PARADA
60
![Page 61: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/61.jpg)
OPERACIÓN DE UNA CENTRAL TÉRMICA MODELO BASADO EN LA DEFINICIÓN DE 3 VARIABLES BINARIAS: • v(k): VARIABLE DE ACOPLAMIENTO/DESACOPLAMIENTO EN EL PERIODO k • y(k): VARIABLE DE ARRANQUE AL COMIENZO DEL PERIODO k • z(k): VARIABLE DE PARADA AL COMIENZO DEL PERIODO k
61
![Page 62: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/62.jpg)
OPERACIÓN DE UNA CENTRAL TÉRMICA
P
P
Power(MW)
SU SD
Time (h)01 02 03 04 05 06 07 08 09 10 11
RD RU
k 1 2 3 4 5 6 7 8 9 10 11 v(k) 0 0 0 1 1 1 1 1 1 0 0 y(k) 0 0 0 1 0 0 0 0 0 0 0 z(k) 0 0 0 0 0 0 0 0 0 1 0
62
![Page 63: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/63.jpg)
OPERACIÓN DE UNA CENTRAL TÉRMICA
( ) ( ) ( ) ( )1kvkvkzky −−=−
¡¡OJO!! ( ) [ ]1,0kz ∈ ⇒ VENTAJAS COMPUTACIONALES
v(k-1)
v(k)
y(k)
z(k)
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
MINIMIZACIÓN DE
COSTES
63
![Page 64: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/64.jpg)
LÍMITES DE PRODUCCIÓN
POTENCIA MÁXIMA NOMINAL Y MÍNIMO TÉCNICO:
( )
( ) ACOPLADA ESTÁ CENTRAL LA SI
ADESACOPLAD ESTÁ CENTRAL LA SI
PkpP
0kp
⇒
⇒
⎪⎩
⎪⎨
⎧
≤≤
=
MODELO PLEM 0/1:
( ) ( ) ( )kvPkpkvP ≤≤
64
![Page 65: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/65.jpg)
TIEMPO MÍNIMO DE FUNCIONAMIENTO NÚMERO MÍNIMO DE HORAS QUE UNA CENTRAL DEBE MANTENERSE ACOPLADA UNA VEZ PUESTA EN FUNCIONAMIENTO MODELO NO LINEAL: ( )[ ] ( ) ( )[ ] 0kv1kv UT1kx ≥−−−−
(1)
( ) ( ) ( )[ ]{ } ( ) ( ) ( )[ ]{ } ( )[ ]kv1 1kz1 1kxkv 1ky1 1kxkx −−−−++−−=
(2)
UT: TIEMPO MÍNIMO DE FUNCIONAMIENTO (h) x(k): NÚMERO DE HORAS QUE LA CENTRAL LLEVA
ACOPLADA/DESACOPLADA (+/-) AL FINAL DEL PERÍODO k
65
![Page 66: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/66.jpg)
TIEMPO MÍNIMO DE FUNCIONAMIENTO MODELO PLEM 0/1:
( )[ ] 0kv1L
1k
=−∑=
(1)
( ) ( )kyUTiv 1UTk
ki
≥∑−+
=
1UTT1Lk +−+= K (2)
( ) ( )[ ] 0kyivT
ki
≥−∑=
T2UTTk K+−= (3)
( ) ( )[ ]0V UUT,TMinL 0−=
T: NÚMERO DE HORAS DEL HORIZONTE TEMPORAL
0U : TIEMPO QUE LA CENTRAL LLEVA INICIALMENTE ACOPLADA (h)
( )0V : ESTADO INICIAL DE ACOPLAMIENTO
66
![Page 67: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/67.jpg)
TIEMPO MÍNIMO DE PARADA NÚMERO MÍNIMO DE HORAS QUE UNA CENTRAL DEBE ESTAR PARADA UNA VEZ QUE SE DESACOPLA MODELO NO LINEAL: ( )[ ] ( ) ( )[ ] 01kvkv DT1kx ≤−−+−
(1)
( ) ( ) ( )[ ]{ } ( ) ( ) ( )[ ]{ } ( )[ ]kv1 1kz1 1kxkv 1ky1 1kxkx −−−−++−−=
(2)
DT: TIEMPO MÍNIMO DE PARADA (h)
67
![Page 68: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/68.jpg)
TIEMPO MÍNIMO DE PARADA MODELO PLEM 0/1:
( ) 0kvF
1k
=∑=
(1)
( )[ ] ( )kzDTiv1 1DTk
ki
≥−∑−+
=
1DTT1Fk +−+= K (2)
( ) ( )[ ] 0kziv1T
ki
≥−−∑=
T2DTTk K+−= (3)
( )[ ] ( )[ ]{ } 0V1 0SDT,T MinF −−=
( )0S : TIEMPO QUE LA CENTRAL LLEVA INICIALMENTE DESACOPLADA (h)
EXPRESIONES ANÁLOGAS A LAS DEL TIEMPO MÍNIMO DE FUNCIONAMIENTO
68
![Page 69: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/69.jpg)
RAMPAS MÁXIMA VARIACIÓN DE PRODUCCIÓN ENTRE DOS HORAS CONSECUTIVAS • RAMPA DE SUBIDA (RU)
( ) ( )[ ] ( ) RU1kpky1 kp ≤−−− • RAMPA DE BAJADA (RD)
( ) ( )[ ] ( ) RDkpkz1 1kp ≤−−− • RAMPA DE ARRANQUE (SU)
( ) ( ) ( )[ ]ky1P kSUykp −+≤ • RAMPA DE PARADA (SD)
( ) ( ) ( )[ ]kz1P kSDz1kp −+≤−
69
![Page 70: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/70.jpg)
RAMPAS MODELO PLEM 0/1: ( ) ( ) ( )[ ] ( )SD 1kz1kzkvPkp +++−≤
(1)
( ) ( ) ( ) ( )kySU1kvUR1kpkp +−+−≤
(2)
( ) ( ) ( ) ( )kSDzkvDRkp1kp +≤−−
(3)
70
![Page 71: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/71.jpg)
RAMPAS
( )1kv −
( )kv
( )1kv + Restricciones (1)-(3)
1 1 0
( ) SD kp ≤ ( ) ( ) UR1kpkp +−≤ ( ) ( ) DRkp1kp ≤−−
1 1 1
( ) Pkp ≤ ( ) ( ) UR1kpkp +−≤ ( ) ( ) DRkp1kp ≤−−
0 1 0
( ) SD kp ≤ ( ) SU kp ≤ ( ) SDDRkp +≤−
0 1 1
( ) Pkp ≤ ( ) SU kp ≤ ( ) DRkp ≤−
71
![Page 72: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/72.jpg)
RAMPAS
( )1kv −
( )kv
( )1kv + Restricciones (1)-(3)
1 0 0
( ) 0 kp ≤ ( ) ( ) UR1kpkp +−≤ ( ) ( ) DSkp1kp ≤−−
1 0 1
( ) 0 kp ≤ ( ) ( ) UR1kpkp +−≤ ( ) ( ) DSkp1kp ≤−−
0 0 0
( ) 0 kp ≤ ( ) 0kp ≤ ( ) 0kp ≤−
0 0 1
( ) 0 kp ≤ ( ) 0kp ≤ ( ) 0kp ≤−
72
![Page 73: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/73.jpg)
RESERVA RODANTE POTENCIA SINCRONIZADA DISPONIBLE RÁPIDAMENTE EN CASO DE EMERGENCIA CONCEPTO ÚTIL: POTENCIA MÁXIMA DISPONIBLE ( ( )kp ):
( ) ( ) ( )kpkpkRR −= DONDE:
( ) ( ) ( )[ ]{ ( ) ( ) ( ) ( ) } SU ky1kRUv1kp,SD 1kz1kzkvP Minkp +−+−+++−=
73
![Page 74: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/74.jpg)
RESERVA RODANTE
( )1kv −
( )kv
( )1kv +
( )kp
1 1 0
( ){ } RU1kp,SDMin +−
1 1 1
( ){ } RU1kp,PMin +−
0 1 0
{ } SU,SDMin
0 1 1
SU
1 0 0 0
1 0 1 0
0 0 0 0
0 0 1 0
SIMPLIFICACIÓN TRADICIONAL:
( ) ( )kvPkp =
74
![Page 75: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/75.jpg)
RESERVA RODANTE MODELO PLEM 0/1: ( ) ( ) ( )[ ] ( )SD 1kz1kzkvPkp +++−≤
(1)
( ) ( ) ( ) ( )kySU1kvUR1kpkp +−+−≤
(2)
( ) ( )kpkp ≤
(3)
( ) ( ) ( )kpkpkRR −= (4) MODELO EQUIVALENTE SI SE MINIMIZA EL COSTE O SI SE MAXIMIZA EL INGRESO POR RESERVA RODANTE
75
![Page 76: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/76.jpg)
COSTES DE PRODUCCIÓN
FUNCIÓN NO LINEAL, NO CONVEXA Y NO DIFERENCIABLE DE LA POTENCIA DE SALIDA
jP
d(k)
P p(k)
1 2 3
76
![Page 77: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/77.jpg)
COSTES DE PRODUCCIÓN SIMPLIFICACIÓN TRADICIONALMENTE USADA: APROXIMACIÓN CUADRÁTICA
jP
d(k)
jP p(k)
a
( ) ( ) ( )( )[ ] ( )kvkpckbpakd 2++=
77
![Page 78: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/78.jpg)
COSTES DE PRODUCCIÓN APROXIMACIÓN LINEAL POR TRAMOS
F3
F2
F1
T2 T1 jP
d(k)
jP
δ1(k) δ2(k)
δ3(k) A
p(k)
A: TÉRMINO QUE INCLUYE EL COSTE FIJO Y EL COSTE A MÍNIMO TÉCNICO
lF : PENDIENTE DEL BLOQUE DE POTENCIA l
δl(k): POTENCIA PRODUCIDA EN LA HORA k Y EN EL BLOQUE l
78
![Page 79: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/79.jpg)
COSTES DE PRODUCCIÓN APROXIMACIÓN LINEAL POR TRAMOS
( ) ( ) ( )∑
=
δ+=NL
1
k FkAvkdl
ll
(1)
( ) ( ) ( )kvPkkpNL
1
+δ= ∑=l
l
(2)
( ) ( ) ( )kkt PT 111 δ≤−
(3)
( ) ( ) ( )kv PTk 11 −≤δ
(4)
( ) ( ) ( )kkt TT 1 llll δ≤− − 1NL2 −= Kl
(5)
( ) ( ) ( )kt TTk 11 −−−≤δ llll 1NL2 −= Kl
(6)
( ) 0kNL ≥δ
(7)
( ) ( ) ( )kt TPk 1NL1NLNL −−−≤δ
(8)
( ) { }1,0kt ∈l 1NL1 −= Kl
(9)
79
![Page 80: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/80.jpg)
COSTE DE ARRANQUE
FUNCIÓN EXPONENCIAL DEL TIEMPO QUE LA CENTRAL LLEVA DESACOPLADA
CF
s(k-1)
b(k)
CF + CC
( )( )
( )kyCFe1 CCkb1-ks -
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡+
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛−=
⎟⎠⎞
⎜⎝⎛
α
80
![Page 81: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/81.jpg)
COSTE DE ARRANQUE APROXIMACIÓN LINEAL POR TRAMOS
DISCRETIZACIÓN HORARIA ⇒ COSTE DE ARRANQUE DISCRETO APROXIMACIÓN ASINTÓTICAMENTE CONVERGENTE
3 1 2
Cos
te d
e ar
ranq
ue Exponencial
Lineal a tramos
3K
Tiempo parada (h)
2K1K
81
![Page 82: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/82.jpg)
COSTE DE ARRANQUE APROXIMACIÓN LINEAL POR TRAMOS
SE NECESITA MODELAR UN CONTADOR DEL TIEMPO QUE LA CENTRAL LLEVA DESACOPLADA RESTRICCIÓN CONDICIONAL: • SI ( ) 0kv = ⇒ ( ) ( ) 11ksks +−=
• SI ( ) 1kv = ⇒ ( ) 0ks =
82
![Page 83: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/83.jpg)
COSTE DE ARRANQUE APROXIMACIÓN LINEAL POR TRAMOS
MODELO PLEM 0/1: ( ) ( ) 11ksks +−≤
(1)
( ) ( ) ( ) ( ) 11kskv 1Sks +−≥++
(2)
( ) ( )[ ] 0kv1Sks ≤−−
(3)
( ) 0ks ≥
(4)
DONDE S ES UNA CONSTANTE POSITIVA SUFICIENTEMENTE GRANDE (E.G. EL NÚMERO MÁXIMO DE HORAS QUE LA CENTRAL PUEDE ESTAR DESACOPLADA)
83
![Page 84: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/84.jpg)
COSTE DE ARRANQUE APROXIMACIÓN LINEAL POR TRAMOS
MODELO PLEM 0/1:
( ) ( )kw Kkb~ iND
1i
i∑=
=
(1)
( ) ( )kykwND
1i
i =∑=
(2)
( ) ( ) ( )1kskmkw i 1ND
1i
i −=+∑−
=
(3)
( ) ( ) ( )[ ] 1kykwSkm ND +−≤
(4)
( ) ( )kw NDkm ND≥ (5)
( ) { }1,0kwi ∈ (6)
ND: NÚMERO DE TRAMOS DE LA DISCRETIZACIÓN
84
![Page 85: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/85.jpg)
COSTE DE PARADA
TÍPICAMENTE CONSTANTE:
( ) ( )kCzkc =
85
![Page 86: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/86.jpg)
¿DÓNDE NECESITAMOS ESTOS MODELOS?
• PROGRAMACIÓN HORARIA (UNIT COMMITMENT) ⇒ MARCO CENTRALIZADO
• DESPACHO ECONÓMICO DINÁMICO
• PROCEDIMIENTOS DE CIERRE DE MERCADO (CON O SIN RED) ⇒ MARCO
COMPETITIVO
• AUTO-PLANIFICACIÓN DE PRODUCTORES (MERCADO DIARIO Y/O DE
SERVICIOS COMPLEMENTARIOS, CON O SIN PODER DE MERCADO) ⇒ ESTRATEGIAS DE OFERTA
86
![Page 87: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/87.jpg)
APLICACIÓN MODELOS PLEM 0/1 PROGRAMACIÓN HORARIA
DETERMINACIÓN, PARA CADA HORA DE UN DÍA O UNA SEMANA, DEL PLAN DE ACOPLAMIENTO Y DE LAS PRODUCCIONES DE LOS GRUPOS TÉRMICOS, DE FORMA QUE: • EL COSTE DE EXPLOTACIÓN SEA MÍNIMO • SE CUMPLAN LAS RESTRICCIONES TÉCNICAS DE LOS GRUPOS TÉRMICOS
(LÍMITES DE PRODUCCIÓN, RAMPAS, TIEMPOS MÍNIMOS) • SE SUMINISTRE LA DEMANDA DE ENERGÍA • HAYA POTENCIA DE RESERVA SUFICIENTE
87
![Page 88: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/88.jpg)
APLICACIÓN MODELOS PLEM 0/1 PROGRAMACIÓN HORARIA. FORMULACIÓN MATEMÁTICA
( ) ( ) ( )kckbkd MINIMIZAR iiIi Kk
i ++∑∑∈ ∈
SUJETO A:
iip Π∈ Ii∈∀
( ) ( )kDkpIi
i =∑∈
Kk∈∀
( ) ( ) ( ) ( )kRRkDkpkpIi
ii +≥−∑∈
Kk∈∀
88
![Page 89: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/89.jpg)
APLICACIÓN MODELOS PLEM 0/1 PROGRAMACIÓN HORARIA. COMPLEJIDAD
COMPUTACIONAL
# RESTRICCIONES
# VARIABLES 0/1
# VARIABLES CONTINUAS
( ) T2NL216TNJ ×+×+××
( )NDNL1TNJ ++××
( )NL5TNJ +××
NJ: NÚMERO DE CENTRALES TÉRMICAS T: NÚMERO DE INTERVALOS DEL HORIZONTE TEMPORAL NL: NÚMERO DE TRAMOS DE LA APROXIMACIÓN LINEAL DEL COSTE DE
PRODUCCIÓN ND: NÚMERO DE INTERVALOS DISCRETOS DEL COSTE DE ARRANQUE
89
![Page 90: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/90.jpg)
APLICACIÓN MODELOS PLEM 0/1 PROGRAMACIÓN HORARIA. COMPLEJIDAD
COMPUTACIONAL NJ: 60 T: 24 NL: 3 ND: 3
# RESTRICCIONES
# VARIABLES 0/1
# VARIABLES CONTINUAS
31728
10080
11520
90
![Page 91: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/91.jpg)
EJEMPLO NUMÉRICO
GRUPO
P
(MW)
P
(MW)
RU
(MW/h)
RD
(MW/h)
SU
(MW/h)
SD
(MW/h)
A
(€/h)
1F
(€/MWh)
1F
(€)
C (€)
1
350
50
200
300
200
300
10
0.100
20
0.5
2
200
80
100
150
100
150
17
0.125
18
0.3
3
140 40 100 100 100 100 12 0.150 05 1.0
HORAS
1 2 3 DEMANDA (MW) 150 500 400
RESERVA RODANTE (MW) 015 050 040 INICIALMENTE, TODOS LOS GRUPOS DESACOPLADOS
91
![Page 92: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/92.jpg)
EJEMPLO NUMÉRICO SOLUCIÓN ÓPTIMA
( )kpi (MW) ( )kpi (MW)
HORAS HORAS
150
350
300
200
350
350
000
100
000
000
100
000
GR
UP
OS
000
050
050
GR
UP
OS
000 100 140
COSTE: 189.8 €
92
![Page 93: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/93.jpg)
EJEMPLO NUMÉRICO SI LAS RAMPAS DE ARRANQUE Y PARADA SE DESACTIVAN (IGUALES A P):
SOLUCIÓN ÓPTIMA:
( )kpi (MW) ( )kpi (MW) HORAS HORAS
150
350
320
350
350
350
000
150
080
000
200
200
GR
UP
OS
000
000
000
GR
UP
OS
000 000 000
COSTE: 177.75 €
93
![Page 94: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/94.jpg)
APLICACIÓN MODELOS PLEM 0/1 ALGORITMOS DE CIERRE DE MERCADO
Centrales térmicas
Centrales nucleares
Sistemas hidráulicos
Demanda residencial Otros
consumos
Demanda industrial
Intercambios internacionales
Otros
productores: eólica, solar,
cogeneración, etc.
Red de transporte y
redes de distribución
Demanda comercial
94
![Page 95: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/95.jpg)
ALGORITMOS DE CIERRE DE MERCADO MERCADO BASADO EN UN “POOL” O BOLSA DE ENERGÍA
Operador del mercadoAlgoritmo de cierre de
mercado
Productor 1 Productor i Productor n Estrategia de oferta Estrategia de oferta Estrategia de oferta
Plan de generación y
consumo
Precios de cierre de mercado
Estrategia de ofertaConsumidor 1
Estrategia de oferta Estrategia de oferta Consumidor j
··· ···
··· ···
Consumidor m
95
![Page 96: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/96.jpg)
APLICACIÓN MODELOS PLEM 0/1 ALGORITMOS DE CIERRE DE MERCADO
• LOS PRODUCTORES ENVÍAN OFERTAS DE VENTA ENERGÍA/PRECIO (EN
GENERAL, MONÓTONAMENTE CRECIENTE) • LOS CONSUMIDORES ENVÍAN OFERTAS DE COMPRA ENERGÍA/PRECIO (EN
GENERAL, MONÓTONAMENTE DECRECIENTE) • EL OPERADOR DEL MERCADO USA UN ALGORITMO DE CIERRE DE
MERCADO (SUBASTA) PARA DETERMINAR:
PRECIO DE CIERRE DE MERCADO
OFERTAS DE VENTA ACEPTADAS
OFERTAS DE COMPRA ACEPTADAS
DE FORMA QUE EL BENEFICIO SOCIAL NETO SEA MÁXIMO
96
![Page 97: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/97.jpg)
ALGORITMOS DE CIERRE DE MERCADO FORMULACIÓN GENERAL
MAXIMIZAR BENEFICIO SOCIAL NETO SUJETO A:
LÍMITES DE OFERTAS DE GENERACIÓN
LÍMITES DE OFERTAS DE CONSUMO
FACTIBILIDAD DE GENERADORES (RAMPAS, LÍMITES DE PRODUCCIÓN, TIEMPOS MÍNIMOS, ETC.) ⇒ RESTRICCIONES IDÉNTICAS A LAS DE LA PROGRAMACIÓN HORARIA
FACTIBILIDAD DE CONSUMIDORES
BALANCE DE POTENCIA
97
![Page 98: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/98.jpg)
ALGORITMOS DE CIERRE DE MERCADO FORMULACIÓN GENERAL
Consumers’ surplus
Ofertas aceptadas
Precio de cierre de mercado
Energía
Precio
Producers’ surplus
p p SWIi
NL
1mmi Gmi G
Jj
NQ
1nnj Dnj D
ij
∑∑∑∑∈ =∈ =
λ−λ=
98
![Page 99: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/99.jpg)
ALGORITMOS DE CIERRE DE MERCADO FORMULACIÓN GENERAL
nj Dλ : PRECIO DEL BLOQUE n DE LA DEMANDA j
mi Gλ : PRECIO DEL BLOQUE m DEL GENERADOR i
p nj D : POTENCIA CONSUMIDA DEL BLOQUE n DE LA DEMANDA j
p mi G : POTENCIA GENERADA DEL BLOQUE m DEL GENERADOR i
jNQ : NÚMERO DE BLOQUES DE LA OFERTA DE LA DEMANDA j
i : NÚMERO DE BLOQUES DE LA OFERTA DEL GENERADOR i NL
99
![Page 100: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/100.jpg)
ALGORITMOS DE CIERRE DE MERCADO FORMULACIÓN GENERAL
• LÍMITES DE OFERTAS DE GENERACIÓN:
∑=
=iNL
1mmi Gi pp
Ii∈∀
Pp0 mi GmiG ≤≤
iMmI,i ∈∀∈∀
i1Gi PP =
Ii∈∀
• LÍMITES DE OFERTAS DE CONSUMO:
Pp0 nj Dnj D ≤≤ jNnJ,j ∈∀∈∀
• BALANCE DE POTENCIA:
∑ ∑∑∈ ∈ =
=Ii Jj
NQ
1nnj Di p p
j
100
![Page 101: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/101.jpg)
ALGORITMOS DE CIERRE DE MERCADO FORMULACIÓN GENERAL
• DEFINICIÓN DEL PRECIO DE CIERRE DE MERCADO:
VARIABLE DUAL ASOCIADA AL BALANCE DE POTENCIA
PRECIO DE LA OFERTA DE VENTA ACEPTADA MÁS CARA
101
![Page 102: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/102.jpg)
APLICACIÓN MODELOS PLEM 0/1 TIPOS DE ALGORITMOS DE CIERRE DE MERCADO
• MULTIPERIODO VERSUS MONOPERIODO • CON RED VERSUS NUDO ÚNICO • MODELANDO PÉRDIDAS VERSUS SIN PÉRDIDAS
102
![Page 103: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/103.jpg)
ALGORITMOS DE CIERRE DE MERCADO RESULTADOS
CON RESTRICCIONES
SIN RESTRICCIONES
CASO (# GRUPOS)
SOLUCIÓN ÓPTIMA ($)
TIEMPO CPU (s)
SOLUCIÓN ÓPTIMA ($)
TIEMPO CPU (s)
A (20)
0 320072.65
03.72
0321328.02
02.53
B (40)
0 640320.02
09.94
0642823.60
05.95
C (60)
0960549.09
22.23
0964314.46
07.78
D (80)
1280683.28
34.71
1285704.28
41.10
E (100)
1600914.95
50.31
1607183.90
34.89
103
![Page 104: Programación lineal entera-mixta - feis.unesp.br · algoritmo de cortes de gomory • paso 3 (generaciÓn de corte): se emplea una variable bÁsica que ha de ser entera y no lo es,](https://reader030.fdocument.pub/reader030/viewer/2022041302/5e135405082cdc54e4061aa5/html5/thumbnails/104.jpg)
ALGORITMOS DE CIERRE DE MERCADO RESULTADOS
0 5 10 15 20 250
1000
2000
3000
21.6
21.8
22.0
22.2
TIME (h)
DEM
AN
D (M
W)
MA
RK
ET CLEA
RIN
G PR
ICE ($/M
Wh)
PRICE
DEMAND
104