Está en la página 1de 30

INVESTIGACIÓN DE OPERACIONES I

Taller de programación binario-mixto

Tupia de la Cruz, Elmer Dr(c)


Decisiones de fabricación y ampliación de planta
Una plantación hortícola dispone de un terreno de 100 hectáreas en el que se desea cultivar tomates,
pimientos, zanahorias, cebollas y lechugas. Las horas de trabajo totales mínimo disponibles para cultivar
toda la plantación son 500. Las horas por hectárea necesarias para el cultivo de cada uno de los productos
aparecen recogidas en la siguiente tabla:
Tomates Pimientos Zanahorias Cebollas Lechugas
Horas / Ha 5 4 5 2 3
El costo de las semillas y fertilizantes por hectárea cultivada, para cada uno de los productos, junto con el
costo fijo del cultivo de cada uno de ellos vienen reflejados en la siguiente tabla:
Costos Tomates Pimientos Zanahorias Cebollas Lechugas
Costos semillas y fertilizantes 25 15 10 8 25
Costo fijo del cultivo 100 120 100 80 150

El capataz de la plantación ha determinado que:


• plantará como mínimo 3 productos y a lo sumo 4 de los 5 posibles,
• si planta tomates, entonces no plantará cebollas,
• plantará lechugas sólo si planta pimientos
Elaborar el modelo de programación entera binaria de forma compacta que minimice el costo,
presentando la información como se indica:

a) Defina los índices que el modelo empleará.


b) Defina las variables de decisión que el modelo empleará.
c) Defina las estructuras de datos [vectores y matrices] que el modelo empleará.
d) Presente SETS y DATA del modelo en lingo
e) Formular la función objetivo del programa lineal en forma compacta (algebraico y en lingo).
f) Formular las restricciones del programa lineal en forma compacta (algebraico y en lingo).
g) Presente las restricciones de las variables de decisión
h) Presente su mejor y amplio reporte administrativo [con toda la información que se desprende del
problema y del reporte lingo] para toma de decisiones de optimización; no adjunte el reporte del
lingo. Sea explicito en su decisión para que sea considerado.
Preparando datos

Costos semillas y Costo fijo del


Productos Horas/Ha
fertilizantes cultivo
Tomates 25 100 5
Pimientos 15 120 4
i Zanahorias 10 100 5
Cebollas 8 80 2
Lechugas 25 150 3
500 Horas
100 Ha
• plantará como mínimo 3 productos y a lo sumo 4 de los 5 posibles,
• si planta tomates, entonces no plantará cebollas.
• plantará lechugas sólo si planta pimientos.
a) Defina los índices que el modelo empleará.

i: producto (1,2,3,4,5) → 1 son tomates, 2 pimientos, 3 zanahorias, 4 cebollas y 5 lechugas

b) Defina las variables de decisión que el modelo empleará.

Xi = Cantidad de áreas (en hectáreas) cultivadas del producto i


Yi = 1 si se cultiva el producto i, 0 en caso contrario.

c) Defina las estructuras de datos [vectores y matrices] que el modelo empleará.

CostoInsumo i = 25 15 10 8 25;
CostoFijo i = 100 120 100 80 150;
RequerimientoHoras i = 5 4 5 2 3;
MínimaHora = 500;
MaximaArea = 100;
d) Presente SETS y DATA del modelo en lingo

SETS:
PRODUCTO/1..5/: X, Y, COSTOINSUMO,
COSTOFIJO, REQUERIMIENTOHORA;
ENDSETS
DATA:
COSTOINSUMO = 25 15 10 8 25;
COSTOFIJO = 100 120 100 80 150;
REQUERIMIENTOHORA = 5 4 5 2 3;
MINIMAHORA = 500;
MAXIMAAREA = 100;
M = 10000;
ENDDATA
e) Formular la función objetivo del programa lineal en forma compacta (algebraico y en lingo).

Min Z = ෍ CostoInsumoi ∗ Xi + CostoFijo ∗ Yi


i=1

MIN = @SUM(PRODUCTO(I):COSTOINSUMO(I)*X(I)+COSTOFIJO(I)*Y(I));
f) Formular las restricciones del programa lineal en forma compacta (algebraico y en lingo).

෍ Xi <= MaximaArea @SUM(PRODUCTO(I):X(I))<=MAXIMAAREA;


i=1
5

෍ RequerimientoHora i ∗ Xi ≥ MinimaHora @SUM(PRODUCTO(I):


i=1 REQUERIMIENTOHORA(I)*X(I))>=MINIMAHORA;
5

෍Y i ≥ 3 @SUM(PRODUCTO(I):Y(I))>=3;
i=1
5
@SUM(PRODUCTO(I):Y(I))<=4;
෍Y i ≤ 4
i=1
Y1+Y4 <= 1 Y(1)+Y(4)<=1;
Y5<=Y2 Y(5)<=Y(2);

Xi ≤ M ∗ Yi ∀ i ; Con M >=0, grande. @FOR(PRODUCTO(I):X(I)<=M*Y(I));


g) Presente las restricciones de las variables

Xi ≥ 0, ∀i
Yi = 0, 1; ∀i @FOR(PRODUCTO(I):@BIN(Y(I)));

SETS:
PRODUCTO/1..5/: X, Y, COSTOINSUMO, COSTOFIJO, REQUERIMIENTOHORA;
ENDSETS
DATA:
COSTOINSUMO = 25 15 10 8 25;
COSTOFIJO = 100 120 100 80 150;
REQUERIMIENTOHORA = 5 4 5 2 3;
MINIMAHORA = 500;
Programa Binario Mixto MAXIMAAREA = 100;
M = 10000;
ENDDATA
MIN = @SUM(PRODUCTO(I):COSTOINSUMO(I)*X(I)+COSTOFIJO(I)*Y(I));
@SUM(PRODUCTO(I):X(I))<=MAXIMAAREA;
@SUM(PRODUCTO(I):REQUERIMIENTOHORA(I)*X(I))>=MINIMAHORA;
@SUM(PRODUCTO(I):Y(I))>=3;
@SUM(PRODUCTO(I):Y(I))<=4;
Y(1)+Y(4)<=1;
Y(5)<=Y(2);
@FOR(PRODUCTO(I):X(I)<=M*Y(I));
@FOR(PRODUCTO(I):@BIN(Y(I)));
END
Variable Value Reduced Cost
MINIMAHORA 500.0000 0.000000
MAXIMAAREA 100.0000 0.000000
M 10000.00 0.000000
X( 1) 0.000000 15.00000
X( 2) 0.000000 7.000000
X( 3) 100.0000 0.000000
X( 4) 0.000000 4.000000
X( 5) 0.000000 19.00000
Y( 1) 0.000000 100.0000
Y( 2) 1.000000 120.0000
Y( 3) 1.000000 100.0000
Y( 4) 1.000000 80.00000
Y( 5) 0.000000 150.0000
COSTOINSUMO( 1) 25.00000 0.000000
COSTOINSUMO( 2) 15.00000 0.000000
COSTOINSUMO( 3) 10.00000 0.000000
COSTOINSUMO( 4) 8.000000 0.000000
COSTOINSUMO( 5) 25.00000 0.000000
COSTOFIJO( 1) 100.0000 0.000000
COSTOFIJO( 2) 120.0000 0.000000
COSTOFIJO( 3) 100.0000 0.000000
COSTOFIJO( 4) 80.00000 0.000000
COSTOFIJO( 5) 150.0000 0.000000
REQUERIMIENTOHORA( 1) 5.000000 0.000000
REQUERIMIENTOHORA( 2) 4.000000 0.000000
REQUERIMIENTOHORA( 3) 5.000000 0.000000
REQUERIMIENTOHORA( 4) 2.000000 0.000000
REQUERIMIENTOHORA( 5) 3.000000 0.000000

Row Slack or Surplus Dual Price


1 1300.000 -1.000000
2 0.000000 0.000000
3 0.000000 -2.000000
4 0.000000 0.000000
5 1.000000 0.000000
6 0.000000 0.000000
7 1.000000 0.000000
8 0.000000 0.000000
9 10000.00 0.000000
10 9900.000 0.000000
11 10000.00 0.000000
12 0.000000 0.000000
Decisiones de fabricación y ampliación de planta
Una fábrica produce 4 tipos de jabones, para lo cual son necesarios 6 componentes. En la siguiente tabla se
muestran las cantidades necesarias para realizar una pastilla de jabón de cada tipo, junto con las
disponibilidades de los componentes y el beneficio por cada pastilla de jabón:
Aceite Agua Sosa cáustica Glicerina Esencia de limón Esencia de fresa Beneficio
Tipo de jabón
(ml/jabón) (ml/jabón) (g/jabón) (g/jabón) (ml/jabón) (ml/jabón) ($/jabón)
1 250 240 42 1 1 3 10
2 200 210 2 40 2 1 13
3 230 240 20 25 3 1 15
4 180 200 10 35 1 3 11
Disponibilidad 150,000 ml 160,000 ml 12 kg 3 kg 2,000 ml 3,000 ml
Se tiene que producir al menos un tipo de jabón al día y como mucho tres. Además, si se producen jabones
del tipo 1 no se podrán producir del tipo 4.
La fábrica se está planteando ampliar la planta de producción con un costo de $200,000, de forma que si se
realiza la ampliación las disponibilidades de los componentes aumentarán en:
Aceite Agua Sosa cáustica Glicerina Esencia de limón Esencia de fresa

50,000 ml 70,000 ml 4 kg 4 kg 1,000 ml 500 ml


Elaborar el modelo de programación entera binaria de forma compacta que maximice el beneficio,
presentando la información como se indica:

a) Defina los índices que el modelo empleará.


b) Defina las variables de decisión que el modelo empleará.
c) Defina las estructuras de datos [vectores y matrices] que el modelo empleará.
d) Presente SETS y DATA del modelo en lingo
e) Formular la función objetivo del programa lineal en forma compacta (algebraico y en lingo).
f) Formular las restricciones del programa lineal en forma compacta (algebraico y en lingo).
g) Presente las restricciones de las variables de decisión.
h) Presente su mejor y amplio reporte administrativo [con toda la información que se desprende del
problema y del reporte lingo] para toma de decisiones de optimización; no adjunte el reporte del
lingo. Sea explicito en su decisión para que sea considerado.
i) .
Preparando datos
j

Aceite Agua Sosa cáustica Glicerina Esencia de limón Esencia de fresa Beneficio
Tipo de jabón
(ml/jabón) (ml/jabón) (g/jabón) (g/jabón) (ml/jabón) (ml/jabón) ($/jabón)

1 250 240 42 1 1 3 10
2 200 210 2 40 2 1 13
i 3 230 240 20 25 3 1 15
4 180 200 10 35 1 3 11
150,000 ml 160,000 ml 12 kg 3 kg 2,000 ml 3,000 ml actual
Disponibilidad
50,000 ml 70,000 ml 4 kg 4 kg 1,000 ml 500 ml incremento

Mínimo de tipos: 1;
Máximo de tipos: 3;
Si 1 va entonces 4 no va.
Costo de ampliación=$200000;
a) Defina los índices que el modelo empleará.

i: jabón (1,2,3,4)
j: componente (1,2,3,4,5,6)

b) Defina las variables de decisión que el modelo empleará.

Xi = Cantidad (en unidades) de pastillas de jabón tipo i a producir;


Yi = 1, sí se produce jabón del tipo i; 0, en caso contrario;
Z = 1, sí se hace la ampliación de la disponibilidad; 0, en caso contrario;

c) Defina las estructuras de datos [vectores y matrices] que el modelo empleará.

Beneficio i = 10 13 15 11;
Disponibilidad1 j = 150000 160000 12000 3000 2000 3000;
Disponibilidad2 j = 50000 70000 4000 4000 1000 500;
Requerimiento ij = 250 240 42 1 1 3 200 210 2 40 2 1 230 240 20 25 3 1 180 200 10 35 1 3;
Ampliación = 200000;
M= 10000;
d) Presente SETS y DATA del modelo en lingo

SETS:
JABON/1..4/:X, Y, BENEFICIO;
COMPONENTE/1..6/:DISPONIBILIDAD1, DISPONIBILIDAD2;
JXC(JABON,COMPONENTE):REQUERIMIENTO;
ENDSETS

DATA:
BENEFICIO = 100 130 150 110;
DISPONIBILIDAD1 = 150000 160000 12000 3000 2000 3000;
DISPONIBILIDAD2 = 50000 70000 4000 4000 1000 500;
REQUERIMIENTO = 250 240 42 1 1 3 200 210 2 40 2 1 230 240 20 25 3 1
180 200 10 35 1 3;
AMPLIACION = 200000;
M=10000;
ENDDATA
e) Formular la función objetivo del programa lineal en forma compacta (algebraico y en lingo).

Max Z = ෍ Beneficioi ∗ X i − Ampliacion ∗ Z


i=1

MAX = @SUM(JABON(I):BENEFICIO(I)*X(I))- AMPLIACION*Z;


f) Formular las restricciones del programa lineal en forma compacta (algebraico y en lingo).
4

෍ Requerimientoij ∗ Xi ≤ Disponibilidad1j + Disponibilidad2j ∗ Z; ∀j


i=1
4

෍ Yi ≥ 1
i=1
4

෍ Yi ≤ 3
i=1
Y1 + Y4 ≤ 1
Xi ≤ M ∗ Yi ; ∀i

@FOR(COMPONENTE(J):
@SUM(JABON(I):
REQUERIMIENTO(I,J)*X(I))<=DISPONIBILIDAD1(J)+DISPONIBILIDAD2(J)*Z);
@SUM(JABON(I):Y(I))>=1;
@SUM(JABON(I):Y(I))<=3;
Y(1)+Y(4)<=1;
@FOR(JABON(I):X(I)<=M*Y(I));
g) Presente las restricciones de las variables

Xi ≥ 0, entera; ∀i
Yi = 0, 1; ∀i @FOR(JABON(I):@GIN(X(I));@BIN(Y(I));@BIN(Z));
Z = 0, 1;
SETS:
JABON/1..4/:X, Y, BENEFICIO;
COMPONENTE/1..6/:DISPONIBILIDAD1, DISPONIBILIDAD2;
JXC(JABON,COMPONENTE):REQUERIMIENTO;
ENDSETS
DATA:
BENEFICIO = 100 130 150 110;
DISPONIBILIDAD1 = 150000 160000 12000 3000 2000 3000;
DISPONIBILIDAD2 = 50000 70000 4000 4000 1000 500;
REQUERIMIENTO = 250 240 42 1 1 3 200 210 2 40 2 1 230 240 20 25 3 1 180 200
Programa Binario Mixto 10 35 1 3;
AMPLIACION = 200000;
M=10000;
ENDDATA
MAX = @SUM(JABON(I):BENEFICIO(I)*X(I))- AMPLIACION*Z;
@FOR(COMPONENTE(J):
@SUM(JABON(I):
REQUERIMIENTO(I,J)*X(I))<=DISPONIBILIDAD1(J)+DISPONIBILIDAD2(J)*Z);
@SUM(JABON(I):Y(I))>=1;
@SUM(JABON(I):Y(I))<=3;
Y(1)+Y(4)<=1;
@FOR(JABON(I):X(I)<=M*Y(I));
@FOR(JABON(I):@GIN(X(I));@BIN(Y(I));@BIN(Z));
END
Variable Value Reduced Cost
AMPLIACION 200000.0 0.000000
REQUERIMIENTO( 1, 1) 250.0000 0.000000
REQUERIMIENTO( 1, 2) 240.0000 0.000000
REQUERIMIENTO( 1, 3) 42.00000 0.000000
REQUERIMIENTO( 1, 4) 1.000000 0.000000
REQUERIMIENTO( 1, 5) 1.000000 0.000000
REQUERIMIENTO( 1, 6) 3.000000 0.000000
REQUERIMIENTO( 2, 1) 200.0000 0.000000
REQUERIMIENTO( 2, 2) 210.0000 0.000000
REQUERIMIENTO( 2, 3) 2.000000 0.000000
REQUERIMIENTO( 2, 4) 40.00000 0.000000
REQUERIMIENTO( 2, 5) 2.000000 0.000000
Variable Value Reduced Cost
REQUERIMIENTO( 2, 6) 1.000000 0.000000
AMPLIACION 200000.0 0.000000
REQUERIMIENTO( 3, 1) 230.0000 0.000000
M 10000.00 0.000000
REQUERIMIENTO( 3, 2) 240.0000 0.000000
Z 0.000000 200000.0
REQUERIMIENTO( 3, 3) 20.00000 0.000000
X( 1) 233.0000 -100.0000
REQUERIMIENTO( 3, 4) 25.00000 0.000000
X( 2) 0.000000 -130.0000
REQUERIMIENTO( 3, 5) 3.000000 0.000000
X( 3) 110.0000 -150.0000
REQUERIMIENTO( 3, 6) 1.000000 0.000000
X( 4) 0.000000 -110.0000
REQUERIMIENTO( 4, 1) 180.0000 0.000000
Y( 1) 1.000000 0.000000
REQUERIMIENTO( 4, 2) 200.0000 0.000000
Y( 2) 0.000000 0.000000
REQUERIMIENTO( 4, 3) 10.00000 0.000000
Y( 3) 1.000000 0.000000
REQUERIMIENTO( 4, 4) 35.00000 0.000000
Y( 4) 0.000000 0.000000
REQUERIMIENTO( 4, 5) 1.000000 0.000000
BENEFICIO( 1) 100.0000 0.000000
REQUERIMIENTO( 4, 6) 3.000000 0.000000
BENEFICIO( 2) 130.0000 0.000000
BENEFICIO( 3) 150.0000 0.000000
BENEFICIO( 4) 110.0000 0.000000 Row Slack or Surplus Dual Price
DISPONIBILIDAD1( 1) 150000.0 0.000000 1 39800.00 1.000000
DISPONIBILIDAD1( 2) 160000.0 0.000000 2 66450.00 0.000000
DISPONIBILIDAD1( 3) 12000.00 0.000000 3 77680.00 0.000000
DISPONIBILIDAD1( 4) 3000.000 0.000000 4 14.00000 0.000000
DISPONIBILIDAD1( 5) 2000.000 0.000000 5 17.00000 0.000000
DISPONIBILIDAD1( 6) 3000.000 0.000000 6 1437.000 0.000000
DISPONIBILIDAD2( 1) 50000.00 0.000000 7 2191.000 0.000000
DISPONIBILIDAD2( 2) 70000.00 0.000000 8 1.000000 0.000000
DISPONIBILIDAD2( 3) 4000.000 0.000000 9 1.000000 0.000000
DISPONIBILIDAD2( 4) 4000.000 0.000000 10 0.000000 0.000000
DISPONIBILIDAD2( 5) 1000.000 0.000000 11 9767.000 0.000000
DISPONIBILIDAD2( 6) 500.0000 0.000000 12 0.000000 0.000000
13 9890.000 0.000000
14 0.000000 0.000000
Competencia internacional de futbol escolar
Un colegio particular se encuentra organizando un campeonato internacional de fútbol escolar. Para ello se han
definido 2 grupos: Grupo A y Grupo B, conformados por equipos escolares de los países vecinos. Sin embargo,
aún no se han escogido las sedes donde se realizarán los partidos. Para ello, se han definido 5 posibles sedes, de
las cuales se tienen que elegir a 4. Por cada grupo se deberá elegir 2 sedes; pero una misma sede no puede ser
elegida por los 2 grupos.
Téngase en cuenta que, si una sede es elegida, se venderán todas las entradas de esa sede. Asimismo, el colegio
particular organizador debe cubrir los gastos de transporte de cada grupo.
La asistencia, el precio a cobrar por entrada y el costo del alquiler de cada sede que el organizador (el colegio
particular) debe asumir si es que es elegida y los costos de traslado para cada grupo a cada sede por toda la
temporada que dure el campeonato son los siguientes:
Asistencia (personas) Costo de alquiler Costo de traslado (soles)
Sede
Entrada regular Entrada especial (Soles) Grupo A Grupo B
1 900 500 1700 820 880
2 960 560 1800 860 820
3 780 480 1500 780 800
4 920 550 1800 900 840
5 870 460 1600 800 840
Precio (Soles/entrada) 14 20
Se solicita:
a) Definir los índices y variables de decisión en sintaxis algebraico
b) Presentar la estructura de datos que empleará en el modelo
c) Presentar la información SETS y DATA que empleará en el modelo
d) Presente la función objetivo del modelo en lingo en sintaxis compacta que realmente represente el
problema y permita determinar su solución [uso de funciones @sum]
e) Presente las restricciones del modelo en notación compacta que realmente represente el problema y
permita determinar su solución [uso de funciones @sum y @for entre otros].
f) Presente su mejor y amplio reporte administrativo [con toda la información que se desprende del
problema y del reporte lingo] para toma de decisiones de optimización; no adjunte el reporte del lingo.
Sea explicito en su decisión para que sea considerado.
k i

Asistencia (personas) Costo de alquiler Costo de traslado (soles)


Sede
Entrada regular Entrada especial (Soles) Grupo A Grupo B
1 900 500 1700 820 880
2 960 560 1800 860 820
j 3 780 480 1500 780 800 traslado ij
4 920 550 1800 900 840
5 870 460 1600 800 840
Precio (Soles/entrada) 14 20 costo_alquiler j
precio k
Indice:
asistencia jk
i: grupo [A,B]
j: sedes [1..5]
k: entrada [1..2]

Variable de decisión
Simplificación para compactar Yj = Elegir o no elegir la sede j, 0,1
Xij = Elegir o no elegir el grupo i en la sede j; 0,1

Estructura de datos
alquiler j = 1700 1800 1500 1800 1600;
precio k = 14 20;
traslado ij = 820 860 780 900 800 880 820 800 840 840;
asistencia jk = 900 500 960 560 780 480 920 550 870 460;
Índices, Variables y vectores y su relación con SETS y DATA

Indice: Sets:
i: grupo [A,B] grupo/A B/:;
j: sedes [1..5] sede/1..5/: Y, alquiler;
k: entrada [1..2] entrada/1 2/: precio;
GXS (grupo, sede): X, traslado;
SXE (sede, entrada): asistencia;
Variable de decisión End sets
Yj = Elegir o no elegir la sede j, 0,1
Xij = Elegir o no elegir el grupo i en la sede j; 0,1

Estructura de datos Data:


alquiler j = 1700 1800 1500 1800 1600; alquiler = 1700 1800 1500 1800 1600;
precio k = 14 20; precio = 14 20;
traslado ij = 820 860 780 900 800 880 820 800 840 840; traslado = 820 860 780 900 800 880 820 800 840 840;
asistencia jk = 900 500 960 560 780 480 920 550 870 460; asistencia = 900 500 960 560 780 480 920 550 870 460;
End data
Determinación de la función objetivo en sintaxis de lingo compacto
Si una sede es elegida, se venderán todas las entradas de esa sede.
El colegio debe cubrir los gastos de transporte de cada grupo.
La asistencia, el precio a cobrar por entrada y el costo del alquiler de cada sede que el organizador debe asumir
si es que es elegida y los costos de traslado para cada grupo a cada sede

Max Z = Precio − [Costo fijo + Costo variable]

5 2 5 2 5

Max Z = ෍ ෍ asistenciajk ∗ preciok ∗ Yj − [෍ 𝑎𝑙𝑞𝑢𝑖𝑙𝑒𝑟𝑗 ∗ 𝑌𝑗 + ෍ ෍ 𝑡𝑟𝑎𝑠𝑙𝑎𝑑𝑜𝑖𝑗 ∗ 𝑋𝑖𝑗 ]


j=1 k=1 𝑗=1 𝑖=1 𝑗=1

Max=
@sum(SXE(j,k): asistencia(j,k)*precio(k)*Y(j)) –
(@sum(sede(j): alquiler(j)*Y(j)) + @sum(GXS(i,j): traslado(i,j)*X(i,j)));
Determinación de restricciones en sintaxis de lingo compacto
5
Se han definido 5 posibles sedes, de las cuales
se tienen que elegir a 4. ෍ Yj = 4
j=1
!Se deben escoger 4 sedes;
@sum(sede(j): Y(j)) = 4;
5
Por cada grupo se deberá elegir 2 sedes;
i: ෍ X ij = 2
j=1
!Cada grupo escoge dos sedes;
@for(grupo(i): @sum(sede(j): X(i,j)) = 2);
2
Una misma sede no puede ser elegida por los 2
grupos. j: ෍ X ij ≤ Yj
i=1
!Una misma sede no puede ser escogida por dos grupos;
@for(sede(j):@sum(grupo(i): X(i,j)) <= Y(j));

!Y y X son binarias; @for(sede(j): @bin(Y(j))); @for(GXS(i,j): @bin(X(i,j)));


Sets:
grupo/A B/:;
sede/1..5/: Y, alquiler; Modelo binario puro
entrada/1 2/: precio;
GXS (grupo, sede): X, traslado;
SXE (sede, entrada): asistencia;
Endsets
Data:
alquiler = 1700 1800 1500 1800 1600;
precio = 14 20;
traslado = 820 860 780 900 800 880 820 800 840 840;
asistencia = 900 500 960 560 780 480 920 550 870 460;
Enddata
Max = @sum(SXE(j,k): asistencia(j,k)*precio(k)*Y(j))-(@sum(sede(j): alquiler(j)*Y(j)) +@sum(GXS(i,j): traslado(i,j)*X(i,j)));
@for(grupo(i): @sum(sede(j): X(i,j)) = 2);
@sum(sede(j): Y(j)) = 4;
@for(Sede(j):@sum(grupo(i): X(i,j)) <= Y(j));
@for(sede(j): @bin(Y(j)));
@for(GXS(i,j): @bin(X(i,j)));
End
Variable Value Reduced Cost Variable Value Reduced Cost
Y( 1) 1.000000 -20900.00 TRASLADO( A, 1) 820.0000 0.000000
Y( 2) 1.000000 -22840.00 TRASLADO( A, 2) 860.0000 0.000000
Y( 3) 0.000000 -19020.00 TRASLADO( A, 3) 780.0000 0.000000
Y( 4) 1.000000 -22080.00 TRASLADO( A, 4) 900.0000 0.000000
Y( 5) 1.000000 -19780.00 TRASLADO( A, 5) 800.0000 0.000000
ALQUILER( 1) 1700.000 0.000000 TRASLADO( B, 1) 880.0000 0.000000
ALQUILER( 2) 1800.000 0.000000 TRASLADO( B, 2) 820.0000 0.000000
ALQUILER( 3) 1500.000 0.000000 TRASLADO( B, 3) 800.0000 0.000000
ALQUILER( 4) 1800.000 0.000000 TRASLADO( B, 4) 840.0000 0.000000
ALQUILER( 5) 1600.000 0.000000 TRASLADO( B, 5) 840.0000 0.000000
PRECIO( 1) 14.00000 0.000000 ASISTENCIA( 1, A) 900.0000 0.000000
PRECIO( 2) 20.00000 0.000000 ASISTENCIA( 1, B) 500.0000 0.000000
X( A, 1) 1.000000 820.0000 ASISTENCIA( 2, A) 960.0000 0.000000
X( A, 2) 0.000000 860.0000 ASISTENCIA( 2, B) 560.0000 0.000000
X( A, 3) 0.000000 780.0000 ASISTENCIA( 3, A) 780.0000 0.000000
X( A, 4) 0.000000 900.0000 ASISTENCIA( 3, B) 480.0000 0.000000
X( A, 5) 1.000000 800.0000 ASISTENCIA( 4, A) 920.0000 0.000000
X( B, 1) 0.000000 880.0000 ASISTENCIA( 4, B) 550.0000 0.000000
X( B, 2) 1.000000 820.0000 ASISTENCIA( 5, A) 870.0000 0.000000
X( B, 3) 0.000000 800.0000 ASISTENCIA( 5, B) 460.0000 0.000000
X( B, 4) 1.000000 840.0000
X( B, 5) 0.000000 840.0000
Row Slack or Surplus Dual Price
1 82320.00 1.000000
2 0.000000 0.000000
Reporte lingo 3 0.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
6 0.000000 0.000000
7 0.000000 0.000000
8 0.000000 0.000000
9 0.000000 0.000000
Variable Value Reduced Cost Reporte administrativo
Y( 1) 1.000000 -20900.00 Las sedes elegidas para desarrollar los partidos de
Y( 2) 1.000000 -22840.00
Y( 3) 0.000000 -19020.00 futbol son 1, 2, 4 y 5 y los equipos de futbol del grupo
Y( 4) 1.000000 -22080.00
Y( 5) 1.000000 -19780.00 A jugarán en las sedes 1 y 5 y los del grupo B jugarán
ALQUILER( 1) 1700.000 0.000000 en las sedes 2 y 4, con la cual se obtendrá una utilidad
ALQUILER( 2) 1800.000 0.000000
ALQUILER( 3) 1500.000 0.000000 total de $82,320.
ALQUILER( 4) 1800.000 0.000000
ALQUILER( 5) 1600.000 0.000000
PRECIO( 1) 14.00000 0.000000 Utilidad óptima: $82320
PRECIO( 2) 20.00000 0.000000 Sedes elegidas
X( A, 1) 1.000000 820.0000 Sede 1 Sede 2 Sede 3 Sede 4 Sede 5
X( A, 2) 0.000000 860.0000
X( A, 3) 0.000000 780.0000 SI SI SI SI
X( A, 4) 0.000000 900.0000 Asignación de sede por grupo
X( A, 5) 1.000000 800.0000
Sede 1 Sede 2 Sede 3 Sede 4 Sede 5
X( B, 1) 0.000000 880.0000
X( B, 2) 1.000000 820.0000 Grupo A X X
X( B, 3) 0.000000 800.0000 Grupo B X X
X( B, 4) 1.000000 840.0000
X( B, 5) 0.000000 840.0000
Row Slack or Surplus Dual Price
1 82320.00 1.000000
2 0.000000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
6 0.000000 0.000000
7 0.000000 0.000000
8 0.000000 0.000000
9 0.000000 0.000000
Muchas gracias

También podría gustarte