Está en la página 1de 4

INVESTIGACION DE OPERACIONES II

PROGRAMACION BINARIA
DECISIONES DEL TIPO SI O NO (1 – 0)

Instrucciones:
 Determinar el modelado matemático a los siguientes problemas considerando el uso de variables binarias.
 Encontrar la solución mediante software.

PROBLEMA 1 (Proyectos de construcción)


!VARIABLES:
i: Se elige o no el proyecto i. (i : CA,CO,DE,PU,SU,PA)

FUNCION OBJETIVO;
MAX = 50*CA + 60*SU + 70*CO + 80*DE + 90*PA + 50*PU;

!RESTRICCIONES;
SU <= CA;
CA + DE <= 1;
CO <= DE + PA;
CA + SU + CO + DE + PA + PU = 4;
DE<=CO;
DE+PU<=1;
@BIN(CA); @BIN(SU); @BIN(CO); @BIN(DE); @BIN(PA); @BIN(PU);

Objective value: 270.0000


Variable Value Reduced Cost
CA 1.000000 -50.00000
SU 1.000000 -60.00000
CO 1.000000 -70.00000
DE 0.000000 -80.00000
PA 1.000000 -90.00000
PU 0.000000 -50.00000

Row Slack or Surplus Dual Price


1 270.0000 1.000000
2 0.000000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
6 2.000000 0.000000

PROBLEMA 2 (Ayuda en la formulación)


Problema inicial
!VARIABLES;
!i: Unidades a fabricar del producto "i"
(i=A,B,C);

!FUNCION OBJETIVO;
MAX = 125*A+120*B;

3*A+7*B+2*C<=1000; !Horas máquina disponibles;


2.5*A+1.55*B+2*C<=300; !Horas de trabajo disponibles;
23*A+18*B+25*C=MPUSADA; !Materia prima usada;

@GIN(A);@GIN(B);
Objective value: 20255.00

Ing. Manuel Sánchez Terán


INVESTIGACION DE OPERACIONES II

Variable Value Reduced Cost


A 43.00000 -125.0000
B 124.0000 -120.0000
C 0.000000 0.000000
MPUSADA 3221.000 0.000000

Row Slack or Surplus Dual Price


1 20255.00 1.000000
2 3.000000 0.000000
3 0.3000000 0.000000
4 0.000000 0.000000

Item a)
!VARIABLES;
!i: Unidades a fabricar del producto "i"
(i=A,B,C);
!Cj: Unidades de C producidas dentro del rango "j"
(j=1,2,3) Rango1:de 1 a 20, Rango2:de 21 a 70, Rango3:71 a más;
!CjC: Variables que indican si cada rango está completo;

!FUNCION OBJETIVO;
MAX = 125*A+120*B+150*C1+120*C2+100*C3;

3*A+7*B+2*C<=1000; !Horas máquina disponibles;


2.5*A+1.55*B+2*C<=300; !Horas de trabajo disponibles;
23*A+18*B+25*C=MPUSADA; !Materia prima usada;
C=C1+C2+C3; !Producción de C;
C1<=20; !Hasta 20;
C1*C1C=20*C1C; !Rango 1 completo;
C2<=50*C1C; !Hasta 70 (50 más);
C2*C2C=50*C2C; !Rango 2 completo;
C3<=130*C2C; !Hasta 200 (130 más);

@GIN(A);@GIN(B);@GIN(C1);@GIN(C2);@GIN(C3);
@BIN(C1C);@BIN(C2C);

Item b)
!VARIABLES;
!i: Unidades a fabricar del producto "i"
(i=A,B,C);
!Cj: Unidades de C producidas dentro del rango "j"
(j=1,2,3) Rango1:de 1 a 20, Rango2:de 21 a 70, Rango3:71 a más;
!CjC: Variables que indican si cada rango está completo;
!MAQC: Se alquila o no la máquina para estampar C;

!FUNCION OBJETIVO;
MAX = 125*A+120*B+150*C1+120*C2+100*C3-800*MAQC;

3*A+7*B+2*C<=1000; !Horas máquina disponibles;


2.5*A+1.55*B+2*C<=300; !Horas de trabajo disponibles;
23*A+18*B+25*C=MPUSADA; !Materia prima usada;
C=C1+C2+C3; !Producción de C;
C1<=20; !Hasta 20;
C1*C1C=20*C1C; !Rango 1 completo;
C2<=50*C1C; !Hasta 70 (50 más);
C2*C2C=50*C2C; !Rango 2 completo;

Ing. Manuel Sánchez Terán


INVESTIGACION DE OPERACIONES II

C3<=130*C2C; !Hasta 200 (130 más);


C<=200*MAQC; !Producción máxima semanal de C;

@BIN(MAQC);
@GIN(A);@GIN(B);@GIN(C1);@GIN(C2);@GIN(C3);
@BIN(C1C);@BIN(C2C);

Item c)
!VARIABLES;
!i: Unidades a fabricar del producto "i"
(i=A,B,C);
!Cj: Unidades de C producidas dentro del rango "j"
(j=1,2,3) Rango1:de 1 a 20, Rango2:de 21 a 70, Rango3:71 a más;
!CjC: Variables que indican si cada rango está completo;
!MAQC: Se alquila o no la máquina para estampar C;
!MP1000: Se compra de 1000 a más unidades o no;

!FUNCION OBJETIVO;
MAX = 125*A+120*B+150*C1+120*C2+100*C3-800*MAQC
-(0.20*MP1000+0.25*(1-MP1000))*MPUSADA;

3*A+7*B+2*C<=1000; !Horas máquina disponibles;


2.5*A+1.55*B+2*C<=300; !Horas de trabajo disponibles;
23*A+18*B+25*C=MPUSADA; !Materia prima usada;
C=C1+C2+C3; !Producción de C;
C1<=20; !Hasta 20;
C1*C1C=20*C1C; !Rango 1 completo;
C2<=50*C1C; !Hasta 70 (50 más);
C2*C2C=50*C2C; !Rango 2 completo;
C3<=130*C2C; !Hasta 200 (130 más);
C<=200*MAQC; !Producción máxima semanal de C;
MPUSADA>=1000*MP1000; !Se compra de 1000 a más unidades de MP;

@BIN(MAQC);
@BIN(MP1000);
@GIN(A);@GIN(B);@GIN(C1);@GIN(C2);@GIN(C3);
@BIN(C1C);@BIN(C2C);

Item d)
!VARIABLES;
!i: Unidades a fabricar del producto "i"
(i=A,B,C);
!Cj: Unidades de C producidas dentro del rango "j"
(j=1,2,3) Rango1:de 1 a 20, Rango2:de 21 a 70, Rango3:71 a más;
!CjC: Variables que indican si cada rango está completo;
!MAQC: Se alquila o no la máquina para estampar C;
!MP1000: Se compra de 1000 a más unidades o no;
!CAMP: Se realiza o no la campaña de ventas;

!FUNCION OBJETIVO;
MAX = 125*A+120*B+150*C1+120*C2+100*C3-800*MAQC
-(0.20*MP1000+0.25*(1-MP1000))*MPUSADA
-1000*CAMP;

Ing. Manuel Sánchez Terán


INVESTIGACION DE OPERACIONES II

3*A+7*B+2*C<=1000; !Horas máquina disponibles;


2.5*A+1.55*B+2*C<=300; !Horas de trabajo disponibles;
23*A+18*B+25*C=MPUSADA; !Materia prima usada;
C=C1+C2+C3; !Producción de C;
C1<=20; !Hasta 20;
C1*C1C=20*C1C; !Rango 1 completo;
C2<=50*C1C; !Hasta 70 (50 más);
C2*C2C=50*C2C; !Rango 2 completo;
C3<=130*C2C; !Hasta 200 (130 más);
C<=200*MAQC; !Producción máxima semanal de C;
MPUSADA>=1000*MP1000; !Se compra de 1000 a más unidades de MP;
A<=150+50*INC_A; !Se incrementan las ventas de A;
B<=100+50*INC_B; !Se incrementan las ventas de B;
INC_A+INC_B<=1*CAMP; !Solo se incrementan las ventas de A o B;

@BIN(MAQC);
@BIN(MP1000);
@GIN(A);@GIN(B);@GIN(C1);@GIN(C2);@GIN(C3);
@BIN(C1C);@BIN(C2C);
@BIN(CAMP);@BIN(INC_A);@BIN(INC_B);

Ing. Manuel Sánchez Terán

También podría gustarte