Está en la página 1de 40

CAPÍTULO 1.

MODELO DE OPTIMIZACIÓN
Ing. Mariel Malavé Gómez
Revisión de contenido
Programación Lineal
Método gráfico
Revisión de contenido
Revisión de contenido
Programación lineal
 METODO SIMPLEX
El método Simplex es un procedimiento iterativo que permite mejorar la solución de la
función objetivo en cada paso. El proceso concluye cuando no es posible continuar
mejorando dicho valor, es decir, se ha alcanzado la solución óptima (el mayor o menor
valor posible, según el caso, para el que se satisfacen todas las restricciones).
Partiendo del valor de la función objetivo en un punto cualquiera, el procedimiento
consiste en buscar otro punto que mejore el valor anterior. Dichos puntos son los
vértices del polígono (o poliedro, si el número de variables es mayor de 2) que
constituye la región determinada por las restricciones a las que se Encuentra sujeto el
problema (llamada región factible). (Kolman & Hill, 2006, pág. 584);

La búsqueda se realiza mediante desplazamientos por las aristas del polígono, desde el
vértice actual hasta uno adyacente que mejore el valor de la función objetivo. Siempre
que exista región factible, como su número de vértices y de aristas es finito, será
posible encontrar la solución.
Programación lineal

 METODO SIMPLEX
El método Simplex se basa en la siguiente propiedad: si la función objetivo Z
no toma su valor máximo en el vértice A, entonces existe una arista que parte
de A y a lo largo de la que el valor de Z aumenta. Será necesario tener en
cuenta que el método Simplex únicamente trabaja con restricciones del
problema cuyas inecuaciones sean del tipo "≤" (menor o igual) y sus
coeficientes independientes sean mayores o iguales a 0.

Por tanto habrá que estandarizar las restricciones para que cumplan estos
requisitos antes de iniciar el algoritmo del Simplex. En el caso que después de
éste proceso aparezcan restricciones del tipo "≥" (mayor o igual) o "=“
(igualdad), o no se puedan cambiar, será necesario emplear otros métodos de
resolución, siendo el más común el método de la M grande7.
Programación lineal

 Técnica M
Si todas las restricciones no son del tipo “≤”, es decir hay restricciones de “=”
y “≥”; entonces no es posible obtener una solución básica inicial con las
variables de holgura, en este caso se utilizan otras variables llamadas
variables artificiales (ti) que se agregan a las restricciones que son de tipo “≥”
o “=” con coeficiente 1, en la función objetivo se penalizan agregándolas con
coeficiente muy alto si es minimización (+M) o muy bajo si es maximización
(–M). Las iteraciones se hacen igual que el simplex normal y las condiciones
de optimización y factibilidad son las mismas.
Pasos para la resolución de problemas
Metodo Simplex
Pasos para la resolución de problemas
Método Simplex
Pasos para la resolución de problemas
Método Simplex
Ejercicio de aplicación
Ejercicio de aplicación
Ejercicio de aplicación
Ejercicio de aplicación
Ejercicio de aplicación

Interpretación
Ejercicio de práctica
Ejercicio de práctica
Ejercicio de práctica
Ejercicio de práctica

Interpretación
Ejercicio de aplicación
Ejercicio de aplicación
Una empresa monta dos tipos de pales. Los pales de tipo 1 contienen un producto P1 y los pales de
tipo 2 contienen, a su vez, dos productos P2. Con la venta de cada pale de tipo 1, la empresa tiene un
beneficio neto de 2 unidades monetarias (USD) Igualmente, la empresa tiene un beneficio neto de 1
USD con cada pale de tipo 2. Los pales deben ser preparados en dos talleres, T1 y T2, de los que se
dispone Los talleres de un total de 30 y 16 horas semanales, respectivamente, para realizar las
operaciones correspondientes a cada uno de ellos. Cada pale 1 requiere 3 horas de preparación en
T1 y 4 horas de preparación en T2. Cada pale 2 requiere 1 hora de preparación en T1 y 3 horas de
preparación en T2. Además, existe un compromiso comercial de entregar al menos 4 productos
semanales, donde estos cuatro productos pueden ser cualquier combinación de productos P1 y P2. Por
último, existe un colectivo respecto del cual la empresa tiene un compromiso consistente en emplear un
número mínimo de horas de dicho colectivo. Con cada palé de tipo 1 se emplea una hora de este
colectivo y con cada pale 2 se ocupan 3 horas del mismo. La empresa debe ocupar al menos 5 horas
de mano de obra del colectivo citado.

Por cada variable artificial, restamos


un coeficiente M en la función
objetivo. Se tiene dos restricciones
con ≥, por lo que se resta una variable
de holgura y se suma una variable
artificial, para luego continuar con la
matriz. aumentada.
Ejercicio de aplicación
Ejercicio de aplicación
Ejercicio de aplicación
Model 1. Farmer Jones Problem
Model 1. Farmer Jones Problem
 Datos:

 Tipos de cultivos cosechados: trigo (w), maíz (c)


 Rendimientos para cultivos: 25sacos/acre (w), 10sacos/acre
(c)
 Requisito de mano de obra para cultivos: 10h/acre (w),
4h/acre (c)
 Precio de venta de cultivos: 4$/saco (w); 3$/saco (c)
 Superficie total disponible: 7 acres
 Mano de obra total disponible: 40 horas
 Requisito mínimo de producción: 30 bolsas (c)

No olvidar especificar las unidades


Model 1. Farmer Jones Problem
 Variables:
 Número de hectáreas de maíz a sembrar:
◼ 𝑥𝑐 , (acres)
 Número de sacos de maíz a producir:
◼ 𝑦𝑐 , (bags)
 Número de hectáreas de trigo a sembrar:
◼ 𝑥𝑤 , (in acres)
 Número de sacos de trigo a producir:
◼ 𝑦𝑤 , (bags)
Individuales restricciones en variables

 Signo de restricciones  Tipo de restricciones:


 𝑥 is nonnegative,  𝑥 ∈ ℕ,
 𝑥 is nonpositive,  𝑦 ∈ 0,1 (binary),
 𝑥 is unrestricted in sign (urs)  𝑧 ∈ ℝ (continuous)
 𝑧 ∈ −3, −1 ∪ 1.3 (semicontinuos)

 Restricciones limitantes
 𝑥 ≥ 5,
 𝑦 ≤ 25,
 0 ≤ 𝑥 ≤ 100
Model 1. Farmer Jones Problem
Objetivo: Nuestra finalidad es maximizar.
 Los ingresos tienen dos componentes:

 Ingresos por el maiz:

 3𝑦𝑐
 Ingresos por el trigo:
 4𝑦𝑤
 Total ingresos:
 3𝑦𝑐 + 4𝑦𝑤
 The objective is:
 𝑀𝑎𝑥 3𝑦𝑐 + 4𝑦𝑤
Model 1. Farmer Jones Problem
Mathematical formulation:
Objective function 𝑀𝑎𝑥 3𝑦𝑐 + 4𝑦𝑤
Subject to s.t.
𝑦𝑤 = 25𝑥𝑤
Constraints
𝑦𝑐 = 10𝑥𝑐
𝑥𝑤 + 𝑥𝑐 ≤ 7
4𝑥𝑤 + 10𝑥𝑐 ≤40
IVR (lower bound) 𝑦𝑐 ≥ 30
IVR (sign restr.) 𝑥𝑐 , 𝑥𝑤 , 𝑦𝑤 ≥ 0
IVR (type restr.) 𝑥𝑐 , 𝑥𝑤 , 𝑦𝑐 , 𝑦𝑤 ∈ ℝ

Can we make it better?? (Hint: substitute variables)


Model 1. Farmer Jones Problem
Mathematical formulation:

𝑀𝑎𝑥 30𝑥𝑐 + 100𝑥𝑤


s.t.
𝑥𝑤 + 𝑥𝑐 ≤ 7
4𝑥𝑤 + 10𝑥𝑐 ≤40
𝑥𝑐 ≥ 3
𝑥𝑐 , 𝑥𝑤 ≥ 0
𝑥𝑐 , 𝑥𝑤 ∈ ℝ
Model 1. Farmer Jones Problem
Mathematical formulation:
𝑀𝑎𝑥 30𝑥𝑐 + 100𝑥𝑤
s.t.
𝑥𝑤 + 𝑥𝑐 ≤ 7
4𝑥𝑤 + 10𝑥𝑐 ≤40
𝑥𝑐 ≥ 3
𝑥𝑐 , 𝑥𝑤 ≥ 0
Data
Variables 𝑥𝑐 , 𝑥𝑤 ∈ ℝ
Objective function
Constraints
IVR
GAMS
 GAMS is a commercial software (algebraic modeling language) that
transforms models written in natural form into standard computer
inputs
 GAMS provides access to a variety of solvers
 A demo version is available at:
 http://www.gams.com/download
 You can install it for free on your computer (available for several OS).
 There are good comprehensive manuals on GAMS website
http://www.gams.com
 There are many GAMS examples available
 Sidweb,
 within GAMS.
Learning GAMS
 Demo models: GAMS models library
Solving problems with GAMS
 We are using a Demo version, that solves small
problems
 For larger problems we can use NEOS (free web
server)
 http://www.neos-server.org/neos/

 You need to input your GAMS code and select the


solver
Model 1. Problema Farmer Jones
1. Declare sets and parameters
Put data between //
2. Variables and IVRs
(positive, negative, binary,
integer or free)

3. Declare constraints (and


objective function)

4. Define constraints (and


objective function)

5. Define model through its


components
model farmer_jones_mdl /all/
6. Specify model type and
objective
lp, mip, nlp, minlp…
Minimizing, maximizing

7. Display results
Use “.l”
Escoger el solucionador
Escoger el solucionador
 En nuestro ejemplo usamos CPLEX
 Puede usar diferentes solucionadores para diferentes tipos
de problemas
 Linear Programming: CPLEX, XPRESS, COINIPOPT, . . .
 Mixed Integer Programming: CPLEX, XPRESS, . . .
 Mixed Integer Quadratic Programs: CPLEX, . . .
 Nonlinear Programming (local): CONOPT, MINOS, SNOPT, . . .
 Nonlinear Programming (global): BARON, LINDOGLOBAL, . . .
 Nonlinear Mixed Integer Programming: BARON, LINDOGLOBAL,
COINBONMIN, . . .
 En lugar de usar el comando "option lp=cplex;" dentro de
su código GAMS, puede configurar su elección
predeterminada de solucionadores.
GAMS solution

También podría gustarte