Optimización con CPLEX - Aplicaciones a la Ingeniería Eléctrica OPL - CPLEX Jorge Hans Alayo Gamarra Universidade Estadual Paulista - UNESP Laboratorio de Planejamento de Sistemas Elétricos - LAPSEE 20 de septiembre de 2013
Contenido Motivación Introducción a la Programación Lineal Aplicaciones de la programación lineal en la Ingeniería Eléctrica Introducción al OPL - CPLEX Estructura de un proyecto en CPLEX Introducción al lenguaje OPL Aplicaciones a la Ingeniería Eléctrica con OPL- CPLEX El problema del despacho económico El problema de operación de un embalse El problema de compromiso de unidades
Contenido Motivación Introducción a la Programación Lineal Aplicaciones de la programación lineal en la Ingeniería Eléctrica Introducción al OPL - CPLEX Estructura de un proyecto en CPLEX Introducción al lenguaje OPL Aplicaciones a la Ingeniería Eléctrica con OPL- CPLEX El problema del despacho económico El problema de operación de un embalse El problema de compromiso de unidades
Introducción a la Programación Lineal Se plantea como un modelo matemático desarrollado durante la Segunda Guerra Mundial para planificar los gastos y los retornos, a fin de reducir los costos al ejército y aumentar las pérdidas del enemigo. Resuelve problemas de optimización cuya función objetivo es lineal y restricciones tambien son lineales. Dichos problemas se resuelven por medio de las siguientes técnicas de solución: metodo simplex, metodo de puntos interiores.
Introducción a la Programación Lineal La programación lineal se encarga de resolver problemas de la siguiente forma: Minimizar Sujeto a: c t x A x = b x 0
Contenido Motivación Introducción a la Programación Lineal Aplicaciones de la programación lineal en la Ingeniería Eléctrica Introducción al OPL - CPLEX Estructura de un proyecto en CPLEX Introducción al lenguaje OPL Aplicaciones a la Ingeniería Eléctrica con OPL- CPLEX El problema del despacho económico El problema de operación de un embalse El problema de compromiso de unidades
Aplicaciones La programación lineal es aplicada en muchos campos de la Ingeniería Electrica, por ejemplo los siguientes: Operación Económica de Sistemas Eléctricos. Coordinación de Sistemas Hidrotermicos. Planificación de sistemas Electricos.
Contenido Motivación Introducción a la Programación Lineal Aplicaciones de la programación lineal en la Ingeniería Eléctrica Introducción al OPL - CPLEX Estructura de un proyecto en CPLEX Introducción al lenguaje OPL Aplicaciones a la Ingeniería Eléctrica con OPL- CPLEX El problema del despacho económico El problema de operación de un embalse El problema de compromiso de unidades
Estructura de un proyecto en OPL - CPLEX Es importante la generalización de un modelo: separar el modelo de los datos. Un proyecto contiene un archivo del modelo.mod y un archivo de datos.dat
Contenido Motivación Introducción a la Programación Lineal Aplicaciones de la programación lineal en la Ingeniería Eléctrica Introducción al OPL - CPLEX Estructura de un proyecto en CPLEX Introducción al lenguaje OPL Aplicaciones a la Ingeniería Eléctrica con OPL- CPLEX El problema del despacho económico El problema de operación de un embalse El problema de compromiso de unidades
OPL: Optimization Programing Language Lenguaje creado por Pascal van Hentenryck. En todo problema de optimización existen conjuntos, parámetros y variables de decisión. El secreto de un buen modelamiento consiste en seleccionar adecuadamente los conjuntos, los parámetros para cada elemento del conjunto y las variables de decisión.
OPL: Optimization Programing Language Variables enteras:int Variables continuas: float Variables binarias: boolean Variable de decisión: dvar Conjuntos de elementos: {string} Conjunto=...; Conjuntos de indices: range Conjunto= 1... N; Parametros: float Parametro [Conjunto]=...;
OPL: Optimization Programing Language Objetivo: minimize, maximize Restricciones: subject to {... } i S = sum( i in S) i S = forall(i in S) = <= = >= = = == i S c i 3 = forall(i in S:c[i] <=3)
Ejemplo Existen n unidades de generación con un determinado costo unitaro $/MWh. Cada unidad tiene un limite superior. Existe un nivel de demanda para suministrar, todo el sistema se concentra en un nodo. Encontrar el despacho que minimice el costo operativo.
Ejemplo Minimizar Sujeto a: c i g i i S g i = d i S g i ḡ i g i 0
Ejemplo Conjunto: string { Generadores }=...; - Parametros: float Costo[Generadores]=...; float Pmax[Generadores]=...; float demanda=...; - Variables: dvar float P[Generadores];
Ejemplo Modelo: minimize sum(i in Generadores) Costo[i]*P[i]; subject to{ sum(i in Generadores) P[i]== demanda; forall(i in Generadores) P[i]<=Pmax[i]; forall(i in Generadores) P[i]>=0; }
Contenido Motivación Introducción a la Programación Lineal Aplicaciones de la programación lineal en la Ingeniería Eléctrica Introducción al OPL - CPLEX Estructura de un proyecto en CPLEX Introducción al lenguaje OPL Aplicaciones a la Ingeniería Eléctrica con OPL- CPLEX El problema del despacho económico El problema de operación de un embalse El problema de compromiso de unidades
El problema del despacho económico Existen n unidades conectadas a la red eléctrica. Existen un determinado nivel de demanda en cada nodo de la red. El problema consiste en encontrar el despacho de cada unidad de modo que se minimiza el costo operativo.
Contenido Motivación Introducción a la Programación Lineal Aplicaciones de la programación lineal en la Ingeniería Eléctrica Introducción al OPL - CPLEX Estructura de un proyecto en CPLEX Introducción al lenguaje OPL Aplicaciones a la Ingeniería Eléctrica con OPL- CPLEX El problema del despacho económico El problema de operación de un embalse El problema de compromiso de unidades
El problema de operación de un embalse Existe una unidad térmica que representa el conjunto de unidades térmicas del sistema. Existe una unidad hidraulica con un embalse que tiene almacenada una energía E. La demanda tiene un determinado perfil a lo largo de T periodos. Toda la generación y demanda se concentra en un solo nodo. El problema consiste en minimizar el costo operativo y con ello optimizar el uso del embalse.
Contenido Motivación Introducción a la Programación Lineal Aplicaciones de la programación lineal en la Ingeniería Eléctrica Introducción al OPL - CPLEX Estructura de un proyecto en CPLEX Introducción al lenguaje OPL Aplicaciones a la Ingeniería Eléctrica con OPL- CPLEX El problema del despacho económico El problema de operación de un embalse El problema de compromiso de unidades
El problema de compromiso de unidades Existen n unidades térmicas disponibles para suministrar la demanda. La demanda tiene un determinado perfil a lo largo de T periodos. Toda la generación y demanda se concentra en un solo nodo. Em problema consiste en utilizar la combinacion optimas de unidades en cada bloque de modo de minimizar el costo operativo.
Referencias I Mokhtar S. Bazaraa Programación Lineal y Flujo en Redes. Editorial Limusa. Wood and Wollenberg Power System Generation and Control.