c
c c c
c
c
c
cc c
c
c c c
!
c
" "
c
"!#
$%&%'()*+), '-%'.%$+/)')$,+&+0%*)1+(%$+
'%,$%)*% 2(.3.4)5.6'
c
cc c
7? cc 8
87?c+,/5.6'3%*.)'(%
Formulación del Problema
_
Reescribiendo el problema en Lingo:
Error obtenido, Sintaxis:
Este error fue obtenido por el NO uso de ; luego de la función Objetivo
Solución obtenida al problema formulado mediante Lingo:
Interpretando los resultados obtenidos, podemos decir que:
? El valor de la función objetivo Z = 36
? El valor de ù = 2
? El valor de ù = 6
87?c+,/5.6'3%*.)'(%
c
Formulación del Problema:
Error obtenido:
Este error fue obtenido por la escritura no correcta de la desigualdad, ͞=l=͟, escribiendo en su
lugar ͞=i=͟
Solución obtenida al problema mediante GAMS
Al ser tan extenso el informe de GAMS, el comando DISPLAYse hace útil a la hora de la resolución
del problema, ya que nos permite ver solo los valores deseados. En este caso, los valores de ù y
de ù .
De lo anterior podemos observar lo siguiente:
? El valor de ù
? El valor de ù
De la anterior imagen podemos observar que:
? El valor de Z = 36
7?
9c
ReddyMiks produce pintura tanto para interiores como para exteriores, a partir de dos materias
primas M1 y M2. En la siguiente tabla muestra los datos básicos:
Tonelada de materia prima
Disponibilidad
Por tonelada de
Máxima diaria
Pintura Pintura
(Ton)
Exteriores Interiores
M1 6 4 24
M2 1 2 6
Utilidad/Ton
5 4 **
(Miles $)
Una encuesta de mercado restringe la demanda máxima diaria para interiores a 2 toneladas.
Además la demanda máxima de pintura para interiores no puede exceder a la de exteriores en
más de 1 tonelada. ReddyMiks quiere determinar la mezcla de producto óptimo de pinturas para
interiores y exteriores que maximice la utilidad total diaria.
El modelo planteado, será de la siguiente manera:
_
87c+,/5.6'3%*.)'(%
Formulación del problema:
De lo anterior, podemos observar lo siguiente:
? El valor de Z = 21
? El valor de ù
? El valor de ù
87c+,/5.6'3%*.)'(%
c
Formulación del problema
Solución obtenida al problema formulado mediante GAMS
Mediante el comando DISPLAY observamos los siguientes resultados
De donde podemos observar que:
? El valor de ù
? El valor de ù
De la anterior imagen podemos observar que:
? El valor de Z = 21
dada la experiencia adquirida en el problema de WyndorGlass Co, la formulación y solución
del problema de ReddyMiks se produjo sin ningún tipo de error.
7? c
c c c c
Optimización en MATLAB1
La caja de herramientas de optimización o denominado Toolbox extiende la capacidad de
MATLAB,acercándolo a un ambiente numérico computacional. Toolbox incluye rutinas de muchos
tipos, incluyendo la optimización:
о? Minimización no lineal sin restricciones.
о? Minimización no lineal con restricciones, problemas de minimizar y maximizar,
y problemas de minimización semi-infinitos.
о? Programación cuadrática y lineal.
о? No lineal, mínimos cuadrados y curvas adecuadas.
о? Solución de ecuaciones de sistemas no lineales.
о? Restricciones lineales de mínimos cuadrados.
о? Problemas de larga escala.
Funciones de Optimización:
Todas las funciones de la caja de herramientas son (m-files) de MATLAB, haciendo de MATLAB un
instrumento especializado en algoritmos de optimización. Se puede ver de MATLAB los códigos de
lasfunciones usando la presentación:
typefunction_name
Se puede extender la capacidad de optimización de la caja de herramientas escribiendo sus
propios m-files, o usando la caja de herramienta con otras cajas de herramientas, o con MATLAB o
Simulink.
Caja de Herramienta de Optimización GUI
La herramienta de optimización (optimtool), es un GUI (GraficsUnit Interface), para seleccionar
lasolución, especificando las opciones de optimización y los problemas corrientes. Se puede
definir y modificar los problemas rápidamente con GUI.
Usando Funciones de Optimización
Aquí se describirá como se deberá realizar la utilización de cada una de estas funciones de
optimización:
Definición de la Función Objetivo
Muchas de las funciones de optimización requieren que se cree una función de MATLAB que
calcule la función objetivo. La función, en la entrada debe aceptar vectores, y retornar a la salida
un escalar de tipo doble.
1
Tomado de [Link]
Existen dos maneras de crear la función objetivo:
1) Se crea una función anónima en la línea de comando. Por ejemplo, si se crea una función
anónima para x2, se coloca:
square = @ [(x)]* x.^2;
Y se llama a la función de optimización con el cuadrado del primer argumento de la entrada. Se
puede usar este método si la función objetivo es relativamente sencilla, y no requiera ser utilizada
en una sesión futura de MATLAB.
2) Si se escribe un M-file para la función, por ejemplo, para escribir la función x2como un m-file, se
debe abrir un nuevo archivo en el editor MATLAB y se deberá colocar el siguiente código:
Optimización de Funciones Lineales con Restricciones en MATLAB:
function y = square(x)
y = x.^2;
Se puede llamar la función de optimización con @ al cuadrado como el primer argumento de
entrada. El signo @ crea una función manejable al cuadrado. Este método se emplea si la función
objetiva es complicada o si se sospecha que tal función será utilizada en una próxima sesión de
MATLAB.
Maximización
Las funciones de optimización fminbnd, fminsearch, fminunc, fmincon, fgoalattain, fminimax,
lsqcurvefit, y lsqnonlin todas realizan la minimización de la función objetivo f(x). La maximización
es alcanzada sustituyendo en las rutinas con ʹ f(x). Asimismo para alcanzar la maximización para
quadprog se sustituye-H y -f, y para linprog -f .
Restricciones Mayores que Cero
La Caja de herramientas de Optimización (Toolbox) asume que las restricciones de desigualdad no
lineales son de la forma Ci(x)ч0. Las restricciones mayores que cero son expresadas como menores
que cero multiplicándolas por -1. Por ejemplo, una restricción de la forma Ci(x)ш0 es equivalente a
la restricción (-Ci(x))ч0); una restricción de la forma Ci(x)шb es equivalente a la restricción (-Ci(x) +
b)ч0 [2].
Maximización vs Minimización
La optimización funciona en la caja de herramienta minimizando la función objetivo. Para
maximizar la función f se aplica una optimización para minimizar la función -f. El punto resultante
donde el máximo focurre también es el punto donde el mínimo de -f ocurre.
!7? c c
? LINGO y GAMS son una excelente herramienta a la hora de la Optimización de
Funciones Restringidas
? LINGO es una herramienta de uso muy sencillo, que arroja resultados muy acertados.
? Cuando se necesitan resultados más completos de una manera detallada, GAMS es la
herramienta adecuada, ya que su informe puede ser restringido a las variables que se
necesitan, o a un informe detallado de la operación realizada.
7 cc 8 .............................................................................................................. 3
87 c+,/5.6'3%*.)'(% .............................................................................................. 3
87 c+,/5.6'3%*.)'(%
c ............................................................................................... 6
7
9c ................................................................................................... 9
87c+,/5.6'3%*.)'(% ................................................................................................... 9
87c+,/5.6'3%*.)'(%
c ................................................................................................. 11
7 c
c c c c .......... 13
!7 c c .................................................................................................................... 15