Sei sulla pagina 1di 62

RELATRIO DO

TRABALHO I
Autores: Clia Figueiredo a67637@alunos.uminho.pt
Diana Oliveira a67652@alunos.uminho.pt
Hlder Machado a54811@alunos.uminho.pt
Nelson Carvalho a54764@alunos.uminho.pt

ndice
Introduo ........................................................... 3
PARTE I ................................................................ 4
Parte II ............................................................... 22
Parte III .............................................................. 26
Parte IV ............................................................. 31
Parte V .............................................................. 42
Concluso .......................................................... 62

Introduo
Este documento pretende descrever a abordagem ao problema apresentado no
mbito da disciplina de Mtodos Determinsticos de Investigao Operacional, disciplina
constituinte do curso Licenciatura em Engenharia Informtica.
O problema consiste numa empresa que produz sumos de frutas, a produo consiste
em misturar os concentrados de fruta, gua, aucar e encher os pacotes de sumo na nica
linha de engarrafamento. E o tempo de produo de um dado sumo corresponde ao tempo de
engarrafamento, alm disso existem dois tipos de armazns, o de matrias primas, onde so
guardados os tambores com os concentrados de sumo, e o de produtos finais que guarda as
paletes dos pacotes de sumo. Com este trabalho, pretende-se determinar as quantidades a
comprar, produzir e a armazenar, em cada perodo e de cada tipo de sumo, com o objetivo de
gastar o mnimo possvel.

PARTE I
I.1.Formule este problema como um modelo de programao linear. Explique com detalhe o
significado das restries e da funo objetivo do modelo. Tea todas as consideraes que
considere necessrias.

Funo Objetivo
A funo objetivo uma funo de minimizao de custos que determina as
quantidades a comprar, a produzir e a armazenar, em cada perodo e de cada tipo de sumo, de
modo a fornecer os pedidos dos clientes de forma a minimizar o custo total. Aqui vamos somar
os custos totais da produo de sumo de cada tipo de cada ms.
Para nos facilitar na compreenso decidimos dar nomes s variveis, ficando:
AC[X]_[Y] = Armazm Concentrado [X] no ms [Y]
APF[X]_[Y] = Arm. Prod. Final [X] no ms [Y]
CC[X]_[Y] = Compra Concentrado [X] no ms [Y]
PS[X][Y] = Produo de Sumo [X] no ms [Y]
VS[X][Y] = Venda de Sumo [X] no ms [Y]
Em que o [X] sustituido por [L]aranjas, [M]as e [P]eras e o [Y] pelos meses de
1...12, correspondendo o 1 a Janeiro e o 12 a Dezembro, conforme o necessrio.
De modo a que a funo objetivo ficasse menos confusa decidimos fazer uma varivel
que define o custo de cada concentrado em cada ms, ou seja, por exemplo para o custo
deproduo de sumo de laranjas no ms de Janeiro ,CUSTOL1 = 10PSL1 + ACL_1 + 3APFL_1 +
170CCL1, o custo de produo*produo de sumo (10PSL1) + custo de armazenamento de
concentrado*quantidade de concentrado (ACL_1) + custo de aramazenamento do produto
final* quantidade de produto final (3APFL_1) + custo do concentrado*quantidade a comprar
de concentrado(170CCL1), ficando do seguinte modo todas as outras restries:
CUSTOL1 = 10PSL1 + ACL_1 + 3APFL_1 + 170CCL1;
CUSTOM1 = 10PSM1 + ACM_1 + 3APFM_1 + 231CCM1;
CUSTOP1 = 10PSP1 + ACP_1 + 3APFP_1 + 116CCP1;
CUSTOL2 = 10PSL2 + ACL_2 + 3APFL_2 + 155CCL2;
CUSTOM2 = 10PSM2 + ACM_2 + 3APFM_2 + 199CCM2;
CUSTOP2 = 10PSP2 + ACP_2 + 3APFP_2 + 116CCP2;
CUSTOL3 = 10PSL3 + ACL_3 + 3APFL_3 + 170CCL3;
CUSTOM3 = 10PSM3 + ACM_3 + 3APFM_3 + 187CCM3;
CUSTOP3 = 10PSP3 + ACP_3 + 3APFP_3 + 124CCP3;
CUSTOL4 = 10PSL4 + ACL_4 + 3APFL_4 + 155CCL4;
CUSTOM4 = 10PSM4 + ACM_4 + 3APFM_4 + 198CCM4;
4

CUSTOP4 = 10PSP4 + ACP_4 + 3APFP_4 + 120CCP4;


CUSTOL5 = 10PSL5 + ACL_5 + 3APFL_5 + 170CCL5;
CUSTOM5 = 10PSM5 + ACM_5 + 3APFM_5 + 210CCM5;
CUSTOP5 = 10PSP5 + ACP_5 + 3APFP_5 + 132CCP5;
CUSTOL6 = 10PSL6 + ACL_6 + 3APFL_6 + 155CCL6;
CUSTOM6 = 10PSM6 + ACM_6 + 3APFM_6 + 208CCM6;
CUSTOP6 = 10PSP6 + ACP_6 + 3APFP_6 + 128CCP6;
CUSTOL7 = 10PSL7 + ACL_7 + 3APFL_7 + 170CCL7;
CUSTOM7 = 10PSM7 + ACM_7 + 3APFM_7 + 211CCM7;
CUSTOP7 = 10PSP7 + ACP_7 + 3APFP_7 + 136CCP7;
CUSTOL8 = 12PSL8 + ACL_8 + 3APFL_8 + 155CCL8;
CUSTOM8 = 12PSM8 + ACM_8 + 3APFM_8 + 220CCM8;
CUSTOP8= 12PSP8 + ACP_8 + 3APFP_8 + 116CCP8;
CUSTOL9 = 10PSL9 + ACL_9 + 3APFL_9 + 170CCL9;
CUSTOM9 = 10PSM9 + ACM_9 + 3APFM_9 + 217CCM9;
CUSTOP9 = 10PSP9 + ACP_9 + 3APFP_9 + 120CCP9;
CUSTOL10 = 10PSL10 + ACL_10 + 3APFL_10 + 155CCL10;
CUSTOM10 = 10PSM10 + ACM_10 + 3APFM_10 + 216CCM10;
CUSTOP10 = 10PSP10 + ACP_10 + 3APFP_10 + 108CCP10;
CUSTOL11 = 10PSL11 + ACL_11 + 3APFL_11 + 170CCL11;
CUSTOM11 = 10PSM11 + ACM_11 + 3APFM_11 + 221CCM11;
CUSTOP11 = 10PSP11 + ACP_11 + 3APFP_11 + 100CCP11;
CUSTOL12 = 10PSL12 + ACL_12 + 3APFL_12 + 155CCL12;
CUSTOM12 = 10PSM12 + ACM_12 + 3APFM_12 + 217CCM12;
CUSTOP12 = 10PSP12 + ACP_12 + 3APFP_12 + 116CCP12;

Resultando ento a funo objetivo:


Min Z = CUSTOL1 + CUSTOL2 + CUSTOL3 + CUSTOL4 + CUSTOL5 + CUSTOL6 + CUSTOL7
CUSTOL8 + CUSTOL9 + CUSTOL10 + CUSTOL11 + CUSTOL12 +CUSTOM1 + CUSTOM2
CUSTOM3 + CUSTOM4 + CUSTOM5 + CUSTOM6 + CUSTOM7 + CUSTOM8 + CUSTOM9
CUSTOM10 + CUSTOM11 + CUSTOM12 +CUSTOP1 + CUSTOP2 + CUSTOP3 + CUSTOP4
CUSTOP5 + CUSTOP6 + CUSTOP7 + CUSTOP8 + CUSTOP9 + CUSTOP10 + CUSTOP11
CUSTOP12;

+
+
+
+
+

Restries
-nos dito que a capacidade mxima do armazm de tambores de concentrado de
sumo de 30 U.E, e que a capacidade mxima de armazenagem dos pacotes de sumo de
40U.E, portanto o armazm de concentrado de laranjas (ACL_x) mais o armazm de
concentrado de mas (ACM_x) mais o armazm de concentrado de pras (ACP_x) em cada
ms (x=1,...,12) tem de ser menor ou igual a 30U.E. Assim como o armazm de produto final
de laranjas (APFL_x) mais o armazm de produto final de mas (APFM_x) mais o armazm de
5

produto final de pras (APFP_x) em cada ms (x=1,,12) tem de ser menor ou igual a 40U.E.,
desta deduo resultam as seguintes restries:
ACL_1 + ACM_1 + ACP_1 <= 30;
APFL_1 + APFM_1 + APFP_1 <= 40;
ACL_2 + ACM_2 + ACP_2 <= 30;
APFL_2 + APFM_2 + APFP_2 <= 40;
ACL_3 + ACM_3 + ACP_3 <= 30;
APFL_3 + APFM_3 + APFP_3 <= 40;
ACL_4 + ACM_4 + ACP_4 <= 30;
APFL_4 + APFM_4 + APFP_4 <= 40;
ACL_5 + ACM_5 + ACP_5 <= 30;
APFL_5 + APFM_5 + APFP_5 <= 40;
ACL_6 + ACM_6 + ACP_6 <= 30;
APFL_6 + APFM_6 + APFP_6 <= 40;
ACL_7 + ACM_7 + ACP_7 <= 30;
APFL_7 + APFM_7 + APFP_7 <= 40;
ACL_8 + ACM_8 + ACP_8 <= 30;
APFL_8 + APFM_8 + APFP_8 <= 40;
ACL_9 + ACM_9 + ACP_9 <= 30;
APFL_9 + APFM_9 + APFP_9 <= 40;
ACL_10 + ACM_10 + ACP_10 <= 30;
APFL_10 + APFM_10 + APFP_10 <= 40;
ACL_11 + ACM_11 + ACP_11 <= 30;
APFL_11 + APFM_11 + APFP_11 <= 40;
ACL_12 + ACM_12 + ACP_12 <= 30;
APFL_12 + APFM_12 + APFP_12 <= 40;

Como se pretende que no final do ms de dezembro as U.E. (unidades


equivalentes) em ambos os armazns sejam os mesmos que no incio do ano, os valores de
armazm de concentrado de laranjas, mas e pras (ACL_12, ACM_12, ACP_12) e os
valores de armazm de produto final de laranjas, mas e pras (APFL_12, APFM_12,
APFP_12) para o ms 12 devero ser iguais aos valores iniciais de concentrado de laranjas,
mas e pras (ACL_I, ACM_I, ACP_I) e aos valores iniciais de produto final (APFL_I,
APFM_I, APFP_I), portanto:
ACL_12 = ACL_I;
ACM_12 = ACM_I;
ACP_12 = ACP_I;
APFL_12 = APFL_I;
APFM_12 = APFM_I;
6

APFP_12 = APFP_I;

Para os restantes meses pretende-se que o fluxos (entrada e sada) se mantenham


respeitando as restries. Para isso usamos o seguinte algoritmo:

Para a quantidade do armazm de concentrado entram a compra do ms i e a


quantidade que ficou em armazm no ms i 1 e sai a quantidade produzida (que passa para o
armazm de produtos finais).
Para a quantidade do armazm de produtos finais usamos um algoritmo semelhante
em que neste caso entram a quantidade produzida (vinda do armazm de concentrados) e a
quantidade que ficou em armazm no ms i -1. A quantidade de produto final que sai do
armazm aquele que vendido.
ACL_i = ACL_i-1 + CCLi - PSLi;
APFL_i = APFL_i-1 + PSLi - VSLi;
ACM_i = ACM_i-1 + CCMi - PSMi;
APFM_i = APFM_i-1 + PSMi - VSMi;
ACP_i = ACP_i-1 + CCPi - PSPi;
APFP_i = APFP_i-1 + PSPi - VSPi;

Como a capacidade mxima de produo normal de 30 U.E. por perodo, isto , a


produo dos trs tipos de sumo no pode exceder as 30 U.E., ento temos de considerar
tambm a seguinte restrio:
PSL1+PSM1+PSP1 <= 30;
PSL2+PSM2+PSP2 <= 30;
PSL3+PSM3+PSP3 <= 30;
PSL4+PSM4+PSP4 <= 30;
7

PSL5+PSM5+PSP5 <= 30;


PSL6+PSM6+PSP6 <= 30;
PSL7+PSM7+PSP7 <= 30;
PSL8+PSM8+PSP8 <= 30;
PSL9+PSM9+PSP9 <= 30;
PSL10+PSM10+PSP10 <= 30;
PSL11+PSM11+PSP11 <= 30;
PSL12+PSM12+PSP12 <= 30;
I.2.Apresente o ficheiro de input (cut-and-past)

/* Objective function */
min : CUSTOL1 + CUSTOL2 + CUSTOL3 + CUSTOL4 + CUSTOL5 + CUSTOL6 + CUSTOL7
CUSTOL8 + CUSTOL9 + CUSTOL10 + CUSTOL11 + CUSTOL12 +CUSTOM1 + CUSTOM2
CUSTOM3 + CUSTOM4 + CUSTOM5 + CUSTOM6 + CUSTOM7 + CUSTOM8 + CUSTOM9
CUSTOM10 + CUSTOM11 + CUSTOM12 + CUSTOP1 + CUSTOP2 + CUSTOP3 + CUSTOP4
CUSTOP5 + CUSTOP6 + CUSTOP7 + CUSTOP8 + CUSTOP9 + CUSTOP10 + CUSTOP11
CUSTOP12;

+
+
+
+
+

/* Variable bounds */
// VENDAS
VSL1 = 9;
VSM1 = 5;
VSP1 = 4;
VSL2 = 9;
VSM2 = 5;
VSP2 = 4;
VSL3 = 9;
VSM3 = 5;
VSP3 = 4;
VSL4 = 12;
VSM4 = 6;
VSP4 = 5;
VSL5 = 16;
VSM5 = 8;
VSP5 = 6;
VSL6 = 17;
VSM6 = 9;
VSP6 = 7;
VSL7 = 19;
VSM7 = 10;
VSP7 = 8;
VSL8 = 19;
VSM8 = 10;
VSP8 = 8;
VSL9 = 16;
VSM9 = 8;
8

VSP9 = 6;
VSL10 = 12;
VSM10 = 6;
VSP10 = 5;
VSL11 = 10;
VSM11 = 5;
VSP11 = 4;
VSL12 = 9;
VSM12 = 5;
VSP12 = 4;
//VALORES INICIAIS DOS ARMAZNS
ACL_I = 16;
APFL_I = 20;
ACM_I = 8;
APFM_I = 10;
ACP_I = 6;
APFP_I = 10;
// JANEIRO
ACL_1 = ACL_I + CCL1 - PSL1;
APFL_1 = APFL_I + PSL1 - VSL1;
ACM_1 = ACM_I + CCM1 - PSM1;
APFM_1 = APFM_I + PSM1 - VSM1;
ACP_1 = ACP_I + CCP1 - PSP1;
APFP_1 = APFP_I + PSP1 - VSP1;
// FEVEREIRO
ACL_2 = ACL_1 + CCL2 - PSL2;
APFL_2 = APFL_1 + PSL2 - VSL2;
ACM_2 = ACM_1 + CCM2 - PSM2;
APFM_2 = APFM_1 + PSM2 - VSM2;
ACP_2 = ACP_1 + CCP2 - PSP2;
APFP_2 = APFP_1 + PSP2 - VSP2;
// MARO
ACL_3 = ACL_2 + CCL3 - PSL3;
APFL_3 = APFL_2 + PSL3 - VSL3;
ACM_3 = ACM_2 + CCM3 - PSM3;
APFM_3 = APFM_2 + PSM3 - VSM3;
ACP_3 = ACP_2 + CCP3 - PSP3;
APFP_3 = APFP_2 + PSP3 - VSP3;
// ABRIL
ACL_4 = ACL_3 + CCL4 - PSL4;
APFL_4 = APFL_3 + PSL4 - VSL4;
ACM_4 = ACM_3 + CCM4 - PSM4;
APFM_4 = APFM_3 + PSM4 - VSM4;
ACP_4 = ACP_3 + CCP4 - PSP4;
APFP_4 = APFP_3 + PSP4 - VSP4;
9

// MAIO
ACL_5 = ACL_4 + CCL5 - PSL5;
APFL_5 = APFL_4 + PSL5 - VSL5;
ACM_5 = ACM_4 + CCM5 - PSM5;
APFM_5 = APFM_4 + PSM5 - VSM5;
ACP_5 = ACP_4 + CCP5 - PSP5;
APFP_5 = APFP_4 + PSP5 - VSP5;
// JUNHO
ACL_6 = ACL_5 + CCL6 - PSL6;
APFL_6 = APFL_5 + PSL6 - VSL6;
ACM_6 = ACM_5 + CCM6 - PSM6;
APFM_6 = APFM_5 + PSM6 - VSM6;
ACP_6 = ACP_5 + CCP6 - PSP6;
APFP_6 = APFP_5 + PSP6 - VSP6;
// JULHO
ACL_7 = ACL_6 + CCL7 - PSL7;
APFL_7 = APFL_6 + PSL7 - VSL7;
ACM_7 = ACM_6 + CCM7 - PSM7;
APFM_7 = APFM_6 + PSM7 - VSM7;
ACP_7 = ACP_6 + CCP7 - PSP7;
APFP_7 = APFP_6 + PSP7 - VSP7;
// AGOSTO
ACL_8 = ACL_7 + CCL8 - PSL8;
APFL_8 = APFL_7 + PSL8 - VSL8;
ACM_8 = ACM_7 + CCM8 - PSM8;
APFM_8 = APFM_7 + PSM8 - VSM8;
ACP_8 = ACP_7 + CCP8 - PSP8;
APFP_8 = APFP_7 + PSP8 - VSP8;
// SETEMBRO
ACL_9 = ACL_8 + CCL9 - PSL9;
APFL_9 = APFL_8 + PSL9 - VSL9;
ACM_9 = ACM_8 + CCM9 - PSM9;
APFM_9 = APFM_8 + PSM9 - VSM9;
ACP_9 = ACP_8 + CCP9 - PSP9;
APFP_9 = APFP_8 + PSP9 - VSP9;
// OUTUBRO
ACL_10 = ACL_9 + CCL10 - PSL10;
APFL_10 = APFL_9 + PSL10 - VSL10;
ACM_10 = ACM_9 + CCM10 - PSM10;
APFM_10 = APFM_9 + PSM10 - VSM10;
ACP_10 = ACP_9 + CCP10 - PSP10;
APFP_10 = APFP_9 + PSP10 - VSP10;
// NOVEMBRO
ACL_11 = ACL_10 + CCL11 - PSL11;
APFL_11 = APFL_10 + PSL11 - VSL11;
ACM_11 = ACM_10 + CCM11 - PSM11;
10

APFM_11 = APFM_10 + PSM11 - VSM11;


ACP_11 = ACP_10 + CCP11 - PSP11;
APFP_11 = APFP_10 + PSP11 - VSP11;

// DEZEMBRO
ACL_12 = ACL_11 + CCL12 - PSL12;
APFL_12 = APFL_11 + PSL12 - VSL12;
ACM_12 = ACM_11 + CCM12 - PSM12;
APFM_12 = APFM_11 + PSM12 - VSM12;
ACP_12 = ACP_11 + CCP12 - PSP12;
APFP_12 = APFP_11 + PSP12 - VSP12;

// RESTRIES QUANTIDADES ARMAZNS


ACL_1 + ACM_1 + ACP_1 <= 30;
APFL_1 + APFM_1 + APFP_1 <= 40;
ACL_2 + ACM_2 + ACP_2 <= 30;
APFL_2 + APFM_2 + APFP_2 <= 40;
ACL_3 + ACM_3 + ACP_3 <= 30;
APFL_3 + APFM_3 + APFP_3 <= 40;
ACL_4 + ACM_4 + ACP_4 <= 30;
APFL_4 + APFM_4 + APFP_4 <= 40;
ACL_5 + ACM_5 + ACP_5 <= 30;
APFL_5 + APFM_5 + APFP_5 <= 40;
ACL_6 + ACM_6 + ACP_6 <= 30;
APFL_6 + APFM_6 + APFP_6 <= 40;
ACL_7 + ACM_7 + ACP_7 <= 30;
APFL_7 + APFM_7 + APFP_7 <= 40;
ACL_8 + ACM_8 + ACP_8 <= 30;
APFL_8 + APFM_8 + APFP_8 <= 40;
ACL_9 + ACM_9 + ACP_9 <= 30;
APFL_9 + APFM_9 + APFP_9 <= 40;
ACL_10 + ACM_10 + ACP_10 <= 30;
APFL_10 + APFM_10 + APFP_10 <= 40;
ACL_11 + ACM_11 + ACP_11 <= 30;
APFL_11 + APFM_11 + APFP_11 <= 40;
ACL_12 + ACM_12 + ACP_12 <= 30;
APFL_12 + APFM_12 + APFP_12 <= 40;
ACL_12 = ACL_I;
ACM_12 = ACM_I;
ACP_12 = ACP_I;
APFL_12 = APFL_I;
APFM_12 = APFM_I;
APFP_12 = APFP_I;
//RESTRIES DE PRODUO
PSL1+PSM1+PSP1 <= 30;
11

PSL2+PSM2+PSP2 <= 30;


PSL3+PSM3+PSP3 <= 30;
PSL4+PSM4+PSP4 <= 30;
PSL5+PSM5+PSP5 <= 30;
PSL6+PSM6+PSP6 <= 30;
PSL7+PSM7+PSP7 <= 30;
PSL8+PSM8+PSP8 <= 30;
PSL9+PSM9+PSP9 <= 30;
PSL10+PSM10+PSP10 <= 30;
PSL11+PSM11+PSP11 <= 30;
PSL12+PSM12+PSP12 <= 30;
//CUSTOS DE CADA MS
CUSTOL1 = 10PSL1 + ACL_1 + 3APFL_1 + 170CCL1;
CUSTOM1 = 10PSM1 + ACM_1 + 3APFM_1 + 231CCM1;
CUSTOP1 = 10PSP1 + ACP_1 + 3APFP_1 + 116CCP1;
CUSTOL2 = 10PSL2 + ACL_2 + 3APFL_2 + 155CCL2;
CUSTOM2 = 10PSM2 + ACM_2 + 3APFM_2 + 199CCM2;
CUSTOP2 = 10PSP2 + ACP_2 + 3APFP_2 + 116CCP2;
CUSTOL3 = 10PSL3 + ACL_3 + 3APFL_3 + 170CCL3;
CUSTOM3 = 10PSM3 + ACM_3 + 3APFM_3 + 187CCM3;
CUSTOP3 = 10PSP3 + ACP_3 + 3APFP_3 + 124CCP3;
CUSTOL4 = 10PSL4 + ACL_4 + 3APFL_4 + 155CCL4;
CUSTOM4 = 10PSM4 + ACM_4 + 3APFM_4 + 198CCM4;
CUSTOP4 = 10PSP4 + ACP_4 + 3APFP_4 + 120CCP4;
CUSTOL5 = 10PSL5 + ACL_5 + 3APFL_5 + 170CCL5;
CUSTOM5 = 10PSM5 + ACM_5 + 3APFM_5 + 210CCM5;
CUSTOP5 = 10PSP5 + ACP_5 + 3APFP_5 + 132CCP5;
CUSTOL6 = 10PSL6 + ACL_6 + 3APFL_6 + 155CCL6;
CUSTOM6 = 10PSM6 + ACM_6 + 3APFM_6 + 208CCM6;
CUSTOP6 = 10PSP6 + ACP_6 + 3APFP_6 + 128CCP6;
CUSTOL7 = 10PSL7 + ACL_7 + 3APFL_7 + 170CCL7;
CUSTOM7 = 10PSM7 + ACM_7 + 3APFM_7 + 211CCM7;
CUSTOP7 = 10PSP7 + ACP_7 + 3APFP_7 + 136CCP7;
CUSTOL8 = 12PSL8 + ACL_8 + 3APFL_8 + 155CCL8;
CUSTOM8 = 12PSM8 + ACM_8 + 3APFM_8 + 220CCM8;
CUSTOP8= 12PSP8 + ACP_8 + 3APFP_8 + 116CCP8;
CUSTOL9 = 10PSL9 + ACL_9 + 3APFL_9 + 170CCL9;
CUSTOM9 = 10PSM9 + ACM_9 + 3APFM_9 + 217CCM9;
12

CUSTOP9 = 10PSP9 + ACP_9 + 3APFP_9 + 120CCP9;


CUSTOL10 = 10PSL10 + ACL_10 + 3APFL_10 + 155CCL10;
CUSTOM10 = 10PSM10 + ACM_10 + 3APFM_10 + 216CCM10;
CUSTOP10 = 10PSP10 + ACP_10 + 3APFP_10 + 108CCP10;
CUSTOL11 = 10PSL11 + ACL_11 + 3APFL_11 + 170CCL11;
CUSTOM11 = 10PSM11 + ACM_11 + 3APFM_11 + 221CCM11;
CUSTOP11 = 10PSP11 + ACP_11 + 3APFP_11 + 100CCP11;
CUSTOL12 = 10PSL12 + ACL_12 + 3APFL_12 + 155CCL12;
CUSTOM12 = 10PSM12 + ACM_12 + 3APFM_12 + 217CCM12;
CUSTOP12 = 10PSP12 + ACP_12 + 3APFP_12 + 116CCP12;
I.3.Apresente o ficheiro de output produzido pelo programa (cut-and-paste)
ACM_9

APFL_9

52105

ACM_I

APFL_I

20

ACL_1

16

ACP_1

APFM_1

ACL_10

10

ACP_10

APFM_10

17

ACL_11

ACP_11

APFM_11

14

ACL_12

16

ACP_12

APFM_12

10

ACL_2

ACP_2

APFM_2

ACL_3

ACP_3

APFM_3

31

ACL_4

ACP_4

APFM_4

25

ACL_5

ACP_5

APFM_5

34

ACL_6

19

ACP_6

APFM_6

25

ACL_7

ACP_7

APFM_7

17

ACL_8

13

ACP_8

APFM_8

ACL_9

ACP_9

APFM_9

10

ACL_I

16

ACP_I

APFM_I

10

ACM_1

APFL_1

11

APFP_1

ACM_10

APFL_10

APFP_10

ACM_11

APFL_11

APFP_11

14

ACM_12

APFL_12

20

APFP_12

10

ACM_2

APFL_2

18

APFP_2

ACM_3

26

APFL_3

APFP_3

ACM_4

26

APFL_4

12

APFP_4

ACM_5

APFL_5

APFP_5

ACM_6

APFL_6

APFP_6

ACM_7

11

APFL_7

APFP_7

ACM_8

11

APFL_8

APFP_8

Variables

result

13

APFP_9

CUSTOL10

3540

PSL2

16

APFP_I

10

CUSTOL11

100

PSL3

CCL1

CUSTOL12

7341

PSL4

15

CCL10

22

CUSTOL2

214

PSL5

CCL11

CUSTOL3

27

PSL6

17

CCL12

45

CUSTOL4

3135

PSL7

19

CCL2

CUSTOL5

40

PSL8

22

CCL3

CUSTOL6

5769

PSL9

13

CCL4

19

CUSTOL7

190

PSM1

CCL5

CUSTOL8

5711

PSM10

13

CCL6

36

CUSTOL9

130

PSM11

CCL7

CUSTOM1

23

PSM12

CCL8

35

CUSTOM10

3423

PSM2

CCL9

CUSTOM11

62

PSM3

28

CCM1

CUSTOM12

2001

PSM4

CCM10

15

CUSTOM2

104

PSM5

17

CCM11

CUSTOM3

10497

PSM6

CCM12

CUSTOM4

101

PSM7

CCM2

CUSTOM5

281

PSM8

CCM3

54

CUSTOM6

84

PSM9

11

CCM4

CUSTOM7

926

PSP1

CCM5

CUSTOM8

32

PSP10

CCM6

CUSTOM9

140

PSP11

18

CCM7

CUSTOP1

24

PSP12

CCM8

CUSTOP10

590

PSP2

CCM9

CUSTOP11

2628

PSP3

CCP1

CUSTOP12

36

PSP4

CCP10

CUSTOP2

12

PSP5

CCP11

24

CUSTOP3

24

PSP6

13

CCP12

CUSTOP4

569

PSP7

CCP2

CUSTOP5

426

PSP8

CCP3

CUSTOP6

2070

PSP9

CCP4

CUSTOP7

20

VSL1

CCP5

CUSTOP8

1726

VSL10

12

CCP6

15

CUSTOP9

60

VSL11

10

CCP7

PSL1

VSL12

CCP8

14

PSL10

12

VSL2

CCP9

PSL11

10

VSL3

49

PSL12

29

VSL4

12

CUSTOL1

14

VSL5

16

VSM3

VSP12

VSL6

17

VSM4

VSP2

VSL7

19

VSM5

VSP3

VSL8

19

VSM6

VSP4

VSL9

16

VSM7

10

VSP5

VSM1

VSM8

10

VSP6

VSM10

VSM9

VSP7

VSM11

VSP1

VSP8

VSM12

VSP10

VSP9

VSM2

VSP11

I.4.

Apresente o plano detalhado de produo, indicando, em redes separadas para cada


tipo de sumo, as quantidades a comprar, a produzir, a armazenar (nos armazns de matrias
primas e de produtos acabados) e a entregar em cada perodo.

Laranja
Quantidade a
comprar

Quantidade a
produzir

Quantidade a
armazenar de
concentrado

Quantidade
armazenar de
sumo

Quantidade a
entregar em
cada perodo

Janeiro

16

11

Fevereiro

16

18

Maro

Abril

19

15

12

12

Maio

16

Junho

36

17

19

17

Julho

19

19

Agosto

35

22

13

19

Setembro

13

16

Outubro

22

12

10

12

Novembro

10

10

Dezembro

45

29

16

20

15

Ma
Quantidade a
comprar

Quantidade a
produzir

Quantidade a
armazenar de
concentrado

Quantidade
armazenar de
sumo

Quantidade a
entregar em
cada perodo

Janeiro

Fevereiro

Maro

54

28

26

31

Abril

26

25

Maio

17

34

Junho

25

Julho

11

17

10

Agosto

11

10

Setembro

11

10

Outubro

15

13

17

Novembro

14

Dezembro

10

Pra
Quantidade a
comprar

Quantidade a
produzir

Quantidade a
armazenar de
concentrado

Quantidade
armazenar de
sumo

Quantidade a
entregar em
cada perodo

Janeiro

Fevereiro

Maro

Abril

Maio

Junho

15

13

Julho

Agosto

14

Setembro

6
16

Outubro

Novembro

24

18

14

Dezembro

10

I.5. (Para validar o modelo,) mostre que a soluo admissvel, verificando que:
i) H conservao de fluxo das quantidades em cada n da rede, i.e., o fluxo que entra num
n igual ao fluxo que entra num n igual ao fluxo que sai do n;
Queremos confirmar que o que se encontra no armazm num determinado ms o
mesmo que o que se encontrava no ms anterior mais o que se comprou menos o custo de
produo. Por isso calculamos os valores do armazenamento de concentrado e de produto
final para cada ms e confirmamos com as tabelas acima (I.4.).
//VALORES INICIAIS DOS ARMAZNS
ACL_I = 16;
APFL_I = 20;
ACM_I = 8;
APFM_I = 10;
ACP_I = 6;
APFP_I = 10;
// JANEIRO
ACL_1 = ACL_I + CCL1 - PSL1

-> ACL_1 = 16+0-0=16

APFL_1 = APFL_I + PSL1 - VSL1

-> APFL_1 = 20+0-9=11

ACM_1 = ACM_I + CCM1 - PSM1

-> ACM_1 = 8+0-0=8

APFM_1 = APFM_I + PSM1 - VSM1

-> APFM_1 = 10+0-5=5

ACP_1 = ACP_I + CCP1 - PSP1

-> ACP_1 = 6+0-0=6

APFP_1 = APFP_I + PSP1 - VSP1

-> APFP_11 = 10+0-4=6

// FEVEREIRO
ACL_2 = ACL_1 + CCL2 - PSL2

-> ACL_2 = 16+0-16=0

APFL_2 = APFL_1 + PSL2 - VSL2

-> APFL_2 = 11+16-9=18

ACM_2 = ACM_1 + CCM2 - PSM2

-> ACM_2 = 8+0-8=0

APFM_2 = APFM_1 + PSM2 - VSM2

-> APFM_2 = 5+8-5=8

ACP_2 = ACP_1 + CCP2 - PSP2

-> ACP_2 = 6+0-0=6

APFP_2 = APFP_1 + PSP2 - VSP2

-> APFP_2 = 6+0-4=2

// MARO
ACL_3 = ACL_2 + CCL3 - PSL3

-> ACL_3 = 0+0-0=0

APFL_3 = APFL_2 + PSL3 - VSL3

-> APFL_3 = 18+0-9=9

ACM_3 = ACM_2 + CCM3 - PSM3

-> ACM_3 = 0+54-28=26


17

APFM_3 = APFM_2 + PSM3 - VSM3

-> APFM_3 = 8+28-5=31

ACP_3 = ACP_2 + CCP3 - PSP3

-> ACP_3 = 6+0-2=4

APFP_3 = APFP_2 + PSP3 - VSP3

-> APFP_3 = 2+2-4=0

// ABRIL
ACL_4 = ACL_3 + CCL4 - PSL4

-> ACL_4 = 0+19-15=4

APFL_4 = APFL_3 + PSL4 - VSL4

-> APFL_4 = 9+15-12=12

ACM_4 = ACM_3 + CCM4 - PSM4

-> ACM_4 = 26+0-0=26

APFM_4 = APFM_3 + PSM4 - VSM4

-> APFM_4 = 31+0-6=25

ACP_4 = ACP_3 + CCP4 - PSP4

-> ACP_4 = 4+4-8=0

APFP_4 = APFP_3 + PSP4 - VSP4

-> APFP_4 = 0+8-5=3

// MAIO
ACL_5 = ACL_4 + CCL5 - PSL5

-> ACL_5 = 4+0-4=0

APFL_5 = APFL_4 + PSL5 - VSL5

-> APFL_5 = 12+4-16=0

ACM_5 = ACM_4 + CCM5 - PSM5

-> ACM_5 = 26+0-17=9

APFM_5 = APFM_4 + PSM5 - VSM5

-> APFM_5 = 25+17-8=34

ACP_5 = ACP_4 + CCP5 - PSP5

-> ACP_5 = 0+3-3=0

APFP_5 = APFP_4 + PSP5 - VSP5

-> APFP_5 = 3+3-6=0

// JUNHO
ACL_6 = ACL_5 + CCL6 - PSL6

-> ACP_6 = 0+36-17=19

APFL_6 = APFL_5 + PSL6 - VSL6

-> APFP_6 = 0+17-17=0

ACM_6 = ACM_5 + CCM6 - PSM6

-> ACM_6 = 9+0-0=9

APFM_6 = APFM_5 + PSM6 - VSM6

-> APFM_6 = 34+0-9=25

ACP_6 = ACP_5 + CCP6 - PSP6

-> ACP_6 = 0+15-13=2

APFP_6 = APFP_5 + PSP6 - VSP6

-> APFP_6 = 0+13-7=6

// JULHO
ACL_7 = ACL_6 + CCL7 - PSL7

-> ACP_7 = 19+0-19=0

APFL_7 = APFL_6 + PSL7 - VSL7

-> APFL_7 = 0+19-19=0

ACM_7 = ACM_6 + CCM7 - PSM7

-> ACM_7 = 9+4-2=11

APFM_7 = APFM_6 + PSM7 - VSM7

-> APFM_7 = 25+2-10=17

ACP_7 = ACP_6 + CCP7 - PSP7

-> ACP_7 = 2+0-2=0

APFP_7 = APFP_6 + PSP7 - VSP7

-> APFP_7 = 6+2-8=0

// AGOSTO
ACL_8 = ACL_7 + CCL8 - PSL8

-> ACP_8 = 0+35-22=13

APFL_8 = APFL_7 + PSL8 - VSL8

-> APFL_8 = 0+22-19=3

ACM_8 = ACM_7 + CCM8 - PSM8

-> ACM_8 = 11+0-0=11


18

APFM_8 = APFM_7 + PSM8 - VSM8

-> APFM_8 = 17+0-10=7

ACP_8 = ACP_7 + CCP8 - PSP8

-> ACP_8 = 0+14-8=6

APFP_8 = APFP_7 + PSP8 - VSP8

-> APFP_8 = 0+8-8=0

// SETEMBRO
ACL_9 = ACL_8 + CCL9 - PSL9

-> ACL_9 = 13+0-13=0

APFL_9 = APFL_8 + PSL9 - VSL9

-> APFL_9 = 3+13-16=0

ACM_9 = ACM_8 + CCM9 - PSM9

-> ACM_9 = 11+0-11=0

APFM_9 = APFM_8 + PSM9 - VSM9

-> APFM_9 = 7+11-8=10

ACP_9 = ACP_8 + CCP9 - PSP9

-> ACP_9 = 6+0-6=0

APFP_9 = APFP_8 + PSP9 - VSP9

-> APFP_9 = 0+6-6=0

// OUTUBRO
ACL_10 = ACL_9 + CCL10 - PSL10

-> ACL_10 = 0+22-12=10

APFL_10 = APFL_9 + PSL10 - VSL10

-> APFL_10 = 0+12-12=0

ACM_10 = ACM_9 + CCM10 - PSM10

-> ACM_10 = 0+15-13=2

APFM_10 = APFM_9 + PSM10 - VSM10 -> APFM_10 = 10+13-6=17


ACP_10 = ACP_9 + CCP10 - PSP10

-> ACP_10 = 0+5-5=0

APFP_10 = APFP_9 + PSP10 - VSP10

->APFP_10 = 0+5-5=0

// NOVEMBRO
ACL_11 = ACL_10 + CCL11 - PSL11

-> ACL_11 = 10+0-10=0

APFL_11 = APFL_10 + PSL11 - VSL11

-> APFL_11 = 0+10-10=0

ACM_11 = ACM_10 + CCM11 - PSM11 -> ACM_11 = 2+0-2=0


APFM_11 = APFM_10 + PSM11 - VSM11 -> APFM_11 = 17+2-5=14
ACP_11 = ACP_10 + CCP11 - PSP11

-> ACP_11 = 0+24-18=6

APFP_11 = APFP_10 + PSP11 - VSP11

-> APFP_11 = 0+18-4=14

// DEZEMBRO
ACL_12 = ACL_11 + CCL12 - PSL12

-> ACL_12 = 0+45-29=16

APFL_12 = APFL_11 + PSL12 - VSL12

-> APFL_12 = 0+29-9=20

ACM_12 = ACM_11 + CCM12 - PSM12

-> ACM_12 = 0+9-1=8

APFM_12 = APFM_11 + PSM12 - VSM12 ->APFM_12 = 14+1-5=10


ACP_12 = ACP_11 + CCP12 - PSP12

->ACP_12 = 6+0-0=6

APFP_12 = APFP_11 + PSP12 - VSP12

-> APFP_12 = 14+0-4=10

ii)Todas as restries de capacidade so respeitadas


RESTRIES QUANTIDADES ARMAZNS:
19

ACL_1 + ACM_1 + ACP_1 <= 30 -> 16+8+6 <= 30 -> 30 <= 30


APFL_1 + APFM_1 + APFP_1 <= 40 -> 11+5+6 <= 40 -> 22 <=40
ACL_2 + ACM_2 + ACP_2 <= 30 -> 0+0+6<=30 -> 6 <= 30
APFL_2 + APFM_2 + APFP_2 <= 40 -> 18+8+2 <= 40 -> 28 <=40
ACL_3 + ACM_3 + ACP_3 <= 30 -> 0+26+4 <= 30 -> 30<=30
APFL_3 + APFM_3 + APFP_3 <= 40 -> 9+31+0<=40 -> 40<=40
ACL_4 + ACM_4 + ACP_4 <= 30 -> 4+26+0 <= 30 -> 30<=30
APFL_4 + APFM_4 + APFP_4 <= 40 -> 12+25+3 <= 40 -> 40<=40
ACL_5 + ACM_5 + ACP_5 <= 30 -> 0+9+0 <= 30 -> 9<=30
APFL_5 + APFM_5 + APFP_5 <= 40 -> 0+34+0 <=40 -> 34<=40
ACL_6 + ACM_6 + ACP_6 <= 30 -> 19+9+2 <= 30 -> 30<=30
APFL_6 + APFM_6 + APFP_6 <= 40 -> 0+25+6<=40 -> 31<=40
ACL_7 + ACM_7 + ACP_7 <= 30 -> 0+11+0<=30 -> 11<=30
APFL_7 + APFM_7 + APFP_7 <= 40 -> 0+17+0<=40 -> 17<=40
ACL_8 + ACM_8 + ACP_8 <= 30 -> 13+11+6<=30 -> 30<=30
APFL_8 + APFM_8 + APFP_8 <= 40 -> 3+7+0<=40 -> 10<=40
ACL_9 + ACM_9 + ACP_9 <= 30 -> 0+0+0<=30 -> 0<=30
APFL_9 + APFM_9 + APFP_9 <= 40 -> 0+10+0<=40 -> 10<=40
ACL_10 + ACM_10 + ACP_10 <= 30 ->10+2+0<=30 -> 12<=30
APFL_10 + APFM_10 + APFP_10 <= 40 -> 0+17+0<=40 -> 17<=40
ACL_11 + ACM_11 + ACP_11 <= 30 -> 0+0+6<=30 -> 12<=30
APFL_11 + APFM_11 + APFP_11 <= 40 -> 10+7+0<=40 -> 17<=40
ACL_12 + ACM_12 + ACP_12 <= 30 -> 16+8+6<=30 -> 30<=30
APFL_12 + APFM_12 + APFP_12 <= 40 -> 20+10+10<=40 -> 40<=40
ACL_12 = ACL_I -> 16 =16
ACM_12 = ACM_I -> 8=8
ACP_12 = ACP_I -> 6=6
APFL_12 = APFL_I -> 20=20
APFM_12 = APFM_I -> 10=10
APFP_12 = APFP_I -> 10=10
RESTRIES DE PRODUO:
PSL1+PSM1+PSP1 <= 30 -> 0+0+0<=30 -> 0<=30
PSL2+PSM2+PSP2 <= 30 -> 16+8+0<=30 -> 24<=30
PSL3+PSM3+PSP3 <= 30 -> 0+28+2<=30 -> 30<=30
20

PSL4+PSM4+PSP4 <= 30 -> 15+0+8<=30 -> 23<=30


PSL5+PSM5+PSP5 <= 30 -> 4+17+3<=30 -> 24<=30
PSL6+PSM6+PSP6 <= 30 ->17+0+13<=30 -> 30<=30
PSL7+PSM7+PSP7 <= 30 -> 19+2+2<=30 -> 23<=30
PSL8+PSM8+PSP8 <= 30 ->22+0+8<=30 -> 30<=30
PSL9+PSM9+PSP9 <= 30 ->13+11+6<=30 -> 30<=30
PSL10+PSM10+PSP10 <= 30 ->12+13+5<=30 -> 30<=30
PSL11+PSM11+PSP11 <= 30 ->10+2+18<=30 ->30<=30
PSL12+PSM12+PSP12 <=30 ->29+1+0<=30 -> 30<=30

I.6.

(Para validar o modelo), mostre que o custo da soluo tima est correto,
calculando separadamente os custos de compra de concentrado, de produo e
armazenamento, cuja soma dever ser igual ao valor da soluo tima.
Custos de compra de concentrado: CC (quantidade que vou comprar)*preo
Laranjas: 19*155+36*155+35*155+22*155+45*155 =24335
Maas: 54*187+4*211+15*216+9*217=16135
Peras: 4*120+3*132+15*128+14*116+5*108+24*100=7360
Total: 24335+16135+7360=47830
Custos de produo de sumo: PS (quantidade de sumos que vou produzir)*preo
Laranjas:
16*10+15*10+4*10+17*10+19*10+22*12+13*10+12*10+10*10+29*10=1614
Mas: 8*10+28*10+17*10+2*10+11*10+13*10+2*10+1*10=820
Peras: 2*10+8*10+3*10+13*10+2*10+8*12+6*10+5*10+18*10=666
Total: 1614+820+666=3100
Custos de armazenamento:
1. Concentrado: 1*AC(concentrado armazenado)
Laranjas: 16+4+19+13+10+16=78
Mas: 8+26+26+9+9+11+11+2+8=110
Peras: 6+6+4+2+6+6+6=36
2.

Sumo: 3*APF (Quantidade de sumo armazenada)


Laranjas: 11*3+18*3+9*3+12*3+3*3+20*3=219

21

Mas:
5*3+8*3+31*3+25*3+34*3+25*3+17*3+7*3+17*3+10*3+14*3+
10*3=609
Peras: 6*3+2*3+3*3+6*3+14*3+10*3=123
Total: 78+110+36+219+609+123=1175
TOTAL DE CUSTOS FINAL: 47830+3100+1175=52105 c.q.d.

Parte II
Considere que necessrio proceder a uma operao de manuteno, que fora uma
paragem da linha de engarrafamento durante 15 dias, e a reduo da capacidade de
produo a metade. possvel agendar esta operao para o ms de Maro ou Setembro.

II.1.Indique e explique o significado das restries a adicionar ao modelo da Parte I para


fazer uma comparao dos dois cenrios. Tea todas as consideraes que considere
necessrias.

Ms de Maro:
Como houve uma reduo de capacidade de produo para metade, neste caso no
ms de Maro, a alterao ocorrer apenas na linha referente ao ms 3, as restantes ficam
iguais ao modelo da parte I.
RESTRIES DE PRODUO:
(...)
PSL3+PSM3+PSP3 <= 15;
(...)
Ms de Setembro:
Para o ms de Setembro o procedimento o mesmo.

RESTRIES DE PRODUO:
(...)
PSL9+PSM9+PSP9 <= 15;
(...)
Neste ms no haver soluo, pois o que se produziu nos meses anteriores no foi o
suficiente para cobrir as encomendas, como podemos verificar:
22

Quantidade se stock existente at ao ms de Setembro tem de ser maior ou igual quantidade


de encomenda:

Ma: 5+8+31+25+24+25+17++7 >= 5+5+5+6+8+9+10+10 -> 142>=58

Pera: 6+2+3+6 >= 4+4+4+5+6+7+8+8 -> 17 >= 46

Laranja 11+18+9+12+3 >=19+19+17+16+12+9+9+9 -> 53>=110

Portanto, no ser possvel cobrir todas as encomendas.

II.2.Efetue uma comparao dos dois cenrios. Qual das duas opes tem menores custos?
A opo em que no se produz no ms de Maro tem um custo de 52182 U.M., na
outra temos uma soluo impossvel, isto porque talvez como no existe produo no ms de
setembro, a produo dos sumos e de stock no ser suficiente para cobrir as vendas nos
prximos meses.
Como o problema no ms de setembro impossvel, o ms de maro o melhor
cenrio.

II.3.Apresente o ficheiro de input (cut-and-paste)


Ms de Maro
O ficheiro input igual ao da Parte I, com exceo da linha relativa do ms de maro
que fica PSL3+PSM3+PSP3 <= 15, pois como referido no enunciado do trabalho, a reduo da
capacidade de produo no ms de maro passa a metade, ou seja de 30 para 15 U.E.

//RESTRIES DE PRODUO
PSL1+PSM1+PSP1 <= 30;
PSL2+PSM2+PSP2 <= 30;
PSL3+PSM3+PSP3 <= 15;
PSL4+PSM4+PSP4 <= 30;
PSL5+PSM5+PSP5 <= 30;
PSL6+PSM6+PSP6 <= 30;
PSL7+PSM7+PSP7 <= 30;
PSL8+PSM8+PSP8 <= 30;
PSL9+PSM9+PSP9 <= 30;
PSL10+PSM10+PSP10 <= 30;
PSL11+PSM11+PSP11 <= 30;
PSL12+PSM12+PSP12 <= 30;
Ms de Setembro:
O ficheiro input igual ao da Parte I, com exceo da linha relativa do ms de
setembro que fica PSL9+PSM9+PSP9 <= 15, pois como referido no enunciado do trabalho, a

23

reduo da capacidade de produo no ms de setembro passa a metade, ou seja de 30 para


15 U.E.
//RESTRIES DE PRODUO
PSL1+PSM1+PSP1 <= 30;
PSL2+PSM2+PSP2 <= 30;
PSL3+PSM3+PSP3 <= 30;
PSL4+PSM4+PSP4 <= 30;
PSL5+PSM5+PSP5 <= 30;
PSL6+PSM6+PSP6 <= 30;
PSL7+PSM7+PSP7 <= 30;
PSL8+PSM8+PSP8 <= 30;
PSL9+PSM9+PSP9 <= 15;
PSL10+PSM10+PSP10 <= 30;
PSL11+PSM11+PSP11 <= 30;
PSL12+PSM12+PSP12 <= 30;
II.4. Apresente o ficheiro de output produzido pelo programa (cut-and-paste)

Como o ms de Setembro no tem soluo s existe output do ms de maro.

Ms de Maro:
Variables

result
52182

ACM_11

ACP_4

ACM_12

ACP_5

ACL_1

16

ACM_2

ACP_6

ACL_10

ACM_3

30

ACP_7

ACL_11

ACM_4

28

ACP_8

ACL_12

16

ACM_5

ACP_9

ACL_2

ACM_6

ACP_I

ACL_3

ACM_7

11

APFL_1

11

ACL_4

ACM_8

11

APFL_10

10

ACL_5

ACM_9

APFL_11

ACL_6

19

ACM_I

APFL_12

20

ACL_7

ACP_1

APFL_2

18

ACL_8

13

ACP_10

APFL_3

ACL_9

ACP_11

APFL_4

16

ACL_I

16

ACP_12

APFL_5

ACM_1

ACP_2

APFL_6

ACM_10

12

ACP_3

APFL_7

0
24

APFL_8

CCL8

35

CUSTOM10

3303

APFL_9

CCL9

CUSTOM11

162

APFL_I

20

CCM1

CUSTOM12

2001

APFM_1

CCM10

15

CUSTOM2

104

APFM_10

CCM11

CUSTOM3

8649

APFM_11

14

CCM12

CUSTOM4

512

APFM_12

10

CCM2

CUSTOM5

280

APFM_2

CCM3

45

CUSTOM6

63

APFM_3

18

CCM4

CUSTOM7

2473

APFM_4

16

CCM5

CUSTOM8

32

APFM_5

27

CCM6

CUSTOM9

140

APFM_6

18

CCM7

11

CUSTOP1

24

APFM_7

17

CCM8

CUSTOP10

590

APFM_8

CCM9

CUSTOP11

2628

APFM_9

10

CCP1

CUSTOP12

36

APFM_I

10

CCP10

CUSTOP2

84

APFP_1

CCP11

24

CUSTOP3

12

APFP_10

CCP12

CUSTOP4

1170

APFP_11

14

CCP2

CUSTOP5

APFP_12

10

CCP3

CUSTOP6

1814

APFP_2

CCP4

CUSTOP7

20

APFP_3

CCP5

CUSTOP8

1726

APFP_4

CCP6

13

CUSTOP9

60

APFP_5

CCP7

PSL1

APFP_6

CCP8

14

PSL10

22

APFP_7

CCP9

PSL11

APFP_8

CUSTOL1

49

PSL12

29

APFP_9

CUSTOL10

3660

PSL2

16

APFP_I

10

CUSTOL11

PSL3

CCL1

CUSTOL12

7341

PSL4

19

CCL10

22

CUSTOL2

214

PSL5

CCL11

CUSTOL3

27

PSL6

17

CCL12

45

CUSTOL4

3183

PSL7

19

CCL2

CUSTOL5

PSL8

22

CCL3

CUSTOL6

5769

PSL9

13

CCL4

19

CUSTOL7

190

PSM1

CCL5

CUSTOL8

5711

PSM10

CCL6

36

CUSTOL9

130

PSM11

12

CCL7

CUSTOM1

23

PSM12

1
25

PSM2

PSP9

VSM4

PSM3

15

VSL1

VSM5

PSM4

VSL10

12

VSM6

PSM5

19

VSL11

10

VSM7

10

PSM6

VSL12

VSM8

10

PSM7

VSL2

VSM9

PSM8

VSL3

VSP1

PSM9

11

VSL4

12

VSP10

PSP1

VSL5

16

VSP11

PSP10

VSL6

17

VSP12

PSP11

18

VSL7

19

VSP2

PSP12

VSL8

19

VSP3

PSP2

VSL9

16

VSP4

PSP3

VSM1

VSP5

PSP4

VSM10

VSP6

PSP5

VSM11

VSP7

PSP6

13

VSM12

VSP8

PSP7

VSM2

VSP9

PSP8

VSM3

Parte III
E se a operao de manuteno da linha de engarrafamento forar uma paragem da linha
durante um ms, sendo possvel agendar esta operao para o ms de maro ou de
setembro?
III.1. Indique as restries a adicionar ao modelo da Parte I e efetue uma comparao dos
dois cenrios. Tea todas as consideraes que considere necessrias.
Ms de maro:
No ms de Maro, devido operao de manuteno da linha de engarrafamento, no
haver produo, isto significa que a produo dos trs tipos de sumo neste ms ser igual a
zero, ou seja igualmos a restrio a zero: PSL3+PSM3+PSP3 = 0

//RESTRIES DE PRODUO
PSL1+PSM1+PSP1 <= 30;
PSL2+PSM2+PSP2 <= 30;
PSL3+PSM3+PSP3 = 0;
PSL4+PSM4+PSP4 <= 30;
26

PSL5+PSM5+PSP5 <= 30;


PSL6+PSM6+PSP6 <= 30;
PSL7+PSM7+PSP7 <= 30;
PSL8+PSM8+PSP8 <= 30;
PSL9+PSM9+PSP9 <= 30;
PSL10+PSM10+PSP10 <= 30;
PSL11+PSM11+PSP11 <= 30;
PSL12+PSM12+PSP12 <= 30;
Ms de setembro:
Neste ms acontece o mesmo, pois a operao forada a parar, sendo que no haver
produo, isto significa que a produo dos trs tipos de sumo neste ms ser igual a zero, ou
seja igualmos a restrio a zero: PSL9+PSM9+PSP9 = 0.

//RESTRIES DE PRODUO
PSL1+PSM1+PSP1 <= 30;
PSL2+PSM2+PSP2 <= 30;
PSL3+PSM3+PSP3 <= 30;
PSL4+PSM4+PSP4 <= 30;
PSL5+PSM5+PSP5 <= 30;
PSL6+PSM6+PSP6 <= 30;
PSL7+PSM7+PSP7 <= 30;
PSL8+PSM8+PSP8 <= 30;
PSL9+PSM9+PSP9 = 0;
PSL10+PSM10+PSP10 <= 30;
PSL11+PSM11+PSP11 <= 30;
PSL12+PSM12+PSP12 <= 30;
Como o problema no ms de setembro impossvel devido produo de sumos em
stock no ser suficiente para cobrir as vendas no meses seguintes, como j vimos na parte II, o
ms de maro o melhor cenrio.

III.2. Apresente o ficheiro de input (cut-and-paste)

Ms de maro:
O ficheiro input igual ao da Parte I com exceo da restrio de produo do ms de
Maro (PSL3+PSM3+PSP3 = 0), pois como nos dito a operao de manuteno da linha de
engarrafamento fora uma paragem durante este ms.

//RESTRIES DE PRODUO
27

PSL1+PSM1+PSP1 <= 30;


PSL2+PSM2+PSP2 <= 30;
PSL3+PSM3+PSP3 = 0;
PSL4+PSM4+PSP4 <= 30;
PSL5+PSM5+PSP5 <= 30;
PSL6+PSM6+PSP6 <= 30;
PSL7+PSM7+PSP7 <= 30;
PSL8+PSM8+PSP8 <= 30;
PSL9+PSM9+PSP9 <= 30;
PSL10+PSM10+PSP10 <= 30;
PSL11+PSM11+PSP11 <= 30;
PSL12+PSM12+PSP12 <= 30;
Ms de Setembro:
O ficheiro input igual ao da Parte I com exceo da restrio de produto do ms de
Setembro (PSL9+PSM9+PSP9 = 0), pois como nos dito a operao de manuteno da linha de
engarrafamento fora uma paragem durante este ms.

//RESTRIES DE PRODUO
PSL1+PSM1+PSP1 <= 30;
PSL2+PSM2+PSP2 <= 30;
PSL3+PSM3+PSP3 <= 30;
PSL4+PSM4+PSP4 <= 30;
PSL5+PSM5+PSP5 <= 30;
PSL6+PSM6+PSP6 <= 30;
PSL7+PSM7+PSP7 <= 30;
PSL8+PSM8+PSP8 <= 30;
PSL9+PSM9+PSP9 = 0;
PSL10+PSM10+PSP10 <= 30;
PSL11+PSM11+PSP11 <= 30;
PSL12+PSM12+PSP12 <= 30;
III.3. Apresente o ficheiro de output produzido pelo programa (cut-and-paste)

Como o ms de Setembro no tem soluo s existe output do ms de Maro.

Ms de Maro:
Variables

result

52376

ACL_1

16
28

ACL_10

10

APFL_10

CCL10

22

ACL_11

APFL_11

CCL11

ACL_12

16

APFL_12

20

CCL12

45

ACL_2

APFL_2

18

CCL2

ACL_3

APFL_3

CCL3

ACL_4

APFL_4

16

CCL4

19

ACL_5

APFL_5

CCL5

ACL_6

19

APFL_6

CCL6

36

ACL_7

APFL_7

CCL7

ACL_8

16

APFL_8

CCL8

35

ACL_9

APFL_9

CCL9

ACL_I

16

APFL_I

20

CCM1

ACM_1

APFM_1

11

CCM10

15

ACM_10

APFM_10

17

CCM11

ACM_11

APFM_11

14

CCM12

ACM_12

APFM_12

10

CCM2

ACM_2

APFM_2

CCM3

30

ACM_3

30

APFM_3

CCM4

10

ACM_4

30

APFM_4

CCM5

ACM_5

APFM_5

27

CCM6

ACM_6

APFM_6

18

CCM7

11

ACM_7

11

APFM_7

17

CCM8

ACM_8

11

APFM_8

CCM9

ACM_9

APFM_9

10

CCP1

ACM_I

APFM_I

10

CCP10

ACP_1

APFP_1

CCP11

24

ACP_10

APFP_10

CCP12

ACP_11

APFP_11

14

CCP2

ACP_12

APFP_12

10

CCP3

ACP_2

APFP_2

14

CCP4

ACP_3

APFP_3

10

CCP5

ACP_4

APFP_4

CCP6

15

ACP_5

APFP_5

CCP7

ACP_6

APFP_6

CCP8

14

ACP_7

APFP_7

CCP9

ACP_8

APFP_8

CUSTOL1

ACP_9

APFP_9

CUSTOL10

3540

ACP_I

APFP_I

10

CUSTOL11

100

APFL_1

11

CUSTOL12

7341

CCL1

49

29

CUSTOL2

214

PSL12

29

VSL11

10

CUSTOL3

27

PSL2

16

VSL12

CUSTOL4

3183

PSL3

VSL2

CUSTOL5

PSL4

19

VSL3

CUSTOL6

5769

PSL5

VSL4

12

CUSTOL7

190

PSL6

17

VSL5

16

CUSTOL8

5669

PSL7

19

VSL6

17

CUSTOL9

160

PSL8

19

VSL7

19

CUSTOM1

95

PSL9

16

VSL8

19

PSM1

VSL9

16

CUSTOM10

3423

CUSTOM11

62

PSM10

13

VSM1

CUSTOM12

2001

PSM11

VSM10

CUSTOM2

44

PSM12

VSM11

CUSTOM3

5649

PSM2

VSM12

CUSTOM4

2131

PSM3

VSM2

CUSTOM5

363

PSM4

10

VSM3

CUSTOM6

1519

PSM5

28

VSM4

CUSTOM7

2473

PSM6

VSM5

CUSTOM8

32

PSM7

VSM6

CUSTOM9

140

PSM8

VSM7

10

CUSTOP1

24

PSM9

11

VSM8

10

CUSTOP10

590

PSP1

VSM9

CUSTOP11

2628

PSP10

VSP1

CUSTOP12

36

PSP11

18

VSP10

CUSTOP2

858

PSP12

VSP11

CUSTOP3

30

PSP2

12

VSP12

CUSTOP4

148

PSP3

VSP2

CUSTOP5

PSP4

VSP3

CUSTOP6

2070

PSP5

VSP4

CUSTOP7

20

PSP6

13

VSP5

CUSTOP8

1768

PSP7

VSP6

CUSTOP9

30

PSP8

11

VSP7

PSL1

PSP9

VSP8

PSL10

12

VSL1

VSP9

PSL11

10

VSL10

12

30

Parte IV
Partindo do modelo da Parte I, considere que, para alm da capacidade mxima de produo
normal de 30 U.E. por perodo, pode haver produo extraordinria de mais de 6 U.E. por
perodo, sendo o custo de produo [U.M./U.E.] acrescido de 50%.

IV.1. Mostre quais as modificaes a efetuar no modelo de programao linear. Explique


com detalhe as alteraes das restries e da funo objetivo do modelo. Tea todas as
consideraes que considere necessrias.
Nesta parte, foi necessria a introduo de uma nova varivel para representar uma
produo extraordinria de mais 6 U.E. por perodo. A varivel criada foi PS[x][y]_EXTRA, em
que o [x] corresponde a [L]aranjas, [M]as ou [P]eras e o [y] aos meses de 1 a12 (Janeiro a
Dezembro). Sendo assim, a produo extra de cada matria num ms ter de ser menor ou
igual a 6, exceto o ms de maro que ter de ser igual a zero de acordo com a parte III.

//Produo extra
PSL1_EXTRA + PSM1_EXTRA + PSP1_EXTRA <= 6;
PSL2_EXTRA + PSM2_EXTRA + PSP2_EXTRA <= 6;
PSL3_EXTRA + PSM3_EXTRA + PSP3_EXTRA = 0;
PSL4_EXTRA + PSM4_EXTRA + PSP4_EXTRA <= 6;
PSL5_EXTRA + PSM5_EXTRA + PSP5_EXTRA <= 6;
PSL6_EXTRA + PSM6_EXTRA + PSP6_EXTRA <= 6;
PSL7_EXTRA + PSM7_EXTRA + PSP7_EXTRA <= 6;
PSL8_EXTRA + PSM8_EXTRA + PSP8_EXTRA <= 6;
PSL9_EXTRA + PSM9_EXTRA + PSP9_EXTRA <= 6;
PSL10_EXTRA + PSM10_EXTRA + PSP10_EXTRA <= 6;
PSL11_EXTRA + PSM11_EXTRA + PSP11_EXTRA <= 6;
PSL12_EXTRA + PSM12_EXTRA + PSP12_EXTRA <= 6;
Para conservar o fluxo em todos os meses o algoritmo usado foi o mesmo das partes
anteriores mas desta vez adicionamos a produo extra quantidade de sada do armazm de
concentrados e quantidade de entrada do armazm de produtos finais, segue-se abaixo um
exerto de como ficaram estas restries.

// JANEIRO
ACL_1 = ACL_I + CCL1 - PSL1 - PSL1_EXTRA;
APFL_1 = APFL_I + PSL1 + PSL1_EXTRA - VSL1;
ACM_1 = ACM_I + CCM1 - PSM1 - PSM1_EXTRA;
APFM_1 = APFM_I + PSM1 + PSM1_EXTRA - VSM1;
ACP_1 = ACP_I + CCP1 - PSP1 - PSP1_EXTRA;
APFP_1 = APFP_I + PSP1 + PSP1_EXTRA - VSP1;
IV.2. Apresente o ficheiro de input (cut-and-paste)
Ms de maro:
31

/* Objective function */
min : CUSTOL1 + CUSTOL2 + CUSTOL3 + CUSTOL4 + CUSTOL5 + CUSTOL6 + CUSTOL7 + CUSTOL8
+ CUSTOL9 + CUSTOL10 + CUSTOL11 + CUSTOL12 +CUSTOM1 + CUSTOM2 + CUSTOM3 +
CUSTOM4 + CUSTOM5 + CUSTOM6 + CUSTOM7 + CUSTOM8 + CUSTOM9 + CUSTOM10 +
CUSTOM11 + CUSTOM12 +CUSTOP1 + CUSTOP2 + CUSTOP3 + CUSTOP4 + CUSTOP5 + CUSTOP6
+ CUSTOP7 + CUSTOP8 + CUSTOP9 + CUSTOP10 + CUSTOP11 + CUSTOP12;
// VENDAS [1 = JAN ... 12 = DEZ]
VSL1 = 9;
VSM1 = 5;
VSP1 = 4;
VSL2 = 9;
VSM2 = 5;
VSP2 = 4;
VSL3 = 9;
VSM3 = 5;
VSP3 = 4;
VSL4 = 12;
VSM4 = 6;
VSP4 = 5;
VSL5 = 16;
VSM5 = 8;
VSP5 = 6;
VSL6 = 17;
VSM6 = 9;
VSP6 = 7;
VSL7 = 19;
VSM7 = 10;
VSP7 = 8;
VSL8 = 19;
VSM8 = 10;
VSP8 = 8;
VSL9 = 16;
VSM9 = 8;
VSP9 = 6;
VSL10 = 12;
VSM10 = 6;
VSP10 = 5;
VSL11 = 10;
VSM11 = 5;
VSP11 = 4;
32

VSL12 = 9;
VSM12 = 5;
VSP12 = 4;
//VALORES INICIAIS DOS ARMAZNS
ACL_I = 16;
APFL_I = 20;
ACM_I = 8;
APFM_I = 10;
ACP_I = 6;
APFP_I = 10;
// JANEIRO
ACL_1 = ACL_I + CCL1 - PSL1 - PSL1_EXTRA;
APFL_1 = APFL_I + PSL1 + PSL1_EXTRA - VSL1;
ACM_1 = ACM_I + CCM1 - PSM1 - PSM1_EXTRA;
APFM_1 = APFM_I + PSM1 + PSM1_EXTRA - VSM1;
ACP_1 = ACP_I + CCP1 - PSP1 - PSP1_EXTRA;
APFP_1 = APFP_I + PSP1 + PSP1_EXTRA - VSP1;
// FEVEREIRO
ACL_2 = ACL_1 + CCL2 - PSL2 - PSL2_EXTRA;
APFL_2 = APFL_1 + PSL2 + PSL2_EXTRA - VSL2;
ACM_2 = ACM_1 + CCM2 - PSM2 - PSM2_EXTRA;
APFM_2 = APFM_1 + PSM2 + PSM2_EXTRA - VSM2;
ACP_2 = ACP_1 + CCP2 - PSP2 - PSP2_EXTRA;
APFP_2 = APFP_1 + PSP2 + PSP2_EXTRA - VSP2;
// MARO
ACL_3 = ACL_2 + CCL3 - PSL3 - PSL3_EXTRA;
APFL_3 = APFL_2 + PSL3 + PSL3_EXTRA - VSL3;
ACM_3 = ACM_2 + CCM3 - PSM3 - PSM3_EXTRA;
APFM_3 = APFM_2 + PSM3 + PSM3_EXTRA - VSM3;
ACP_3 = ACP_2 + CCP3 - PSP3 - PSP3_EXTRA;
APFP_3 = APFP_2 + PSP3 + PSP3_EXTRA - VSP3;
// ABRIL
ACL_4 = ACL_3 + CCL4 - PSL4 - PSL4_EXTRA;
APFL_4 = APFL_3 + PSL4 + PSL4_EXTRA - VSL4;
ACM_4 = ACM_3 + CCM4 - PSM4 - PSM4_EXTRA;
33

APFM_4 = APFM_3 + PSM4 + PSM4_EXTRA - VSM4;


ACP_4 = ACP_3 + CCP4 - PSP4 - PSP4_EXTRA;
APFP_4 = APFP_3 + PSP4 + PSP4_EXTRA - VSP4;
// MAIO
ACL_5 = ACL_4 + CCL5 - PSL5 - PSL5_EXTRA;
APFL_5 = APFL_4 + PSL5 + PSL5_EXTRA - VSL5;
ACM_5 = ACM_4 + CCM5 - PSM5 - PSM5_EXTRA;
APFM_5 = APFM_4 + PSM5 + PSM5_EXTRA - VSM5;
ACP_5 = ACP_4 + CCP5 - PSP5 - PSP5_EXTRA;
APFP_5 = APFP_4 + PSP5 + PSP5_EXTRA - VSP5;
// JUNHO
ACL_6 = ACL_5 + CCL6 - PSL6 - PSL6_EXTRA;
APFL_6 = APFL_5 + PSL6 + PSL6_EXTRA - VSL6;
ACM_6 = ACM_5 + CCM6 - PSM6 - PSM6_EXTRA;
APFM_6 = APFM_5 + PSM6 + PSM6_EXTRA - VSM6;
ACP_6 = ACP_5 + CCP6 - PSP6 - PSP6_EXTRA;
APFP_6 = APFP_5 + PSP6 + PSP6_EXTRA - VSP6;
// JULHO
ACL_7 = ACL_6 + CCL7 - PSL7 - PSL7_EXTRA;
APFL_7 = APFL_6 + PSL7 + PSL7_EXTRA - VSL7;
ACM_7 = ACM_6 + CCM7 - PSM7 - PSM7_EXTRA;
APFM_7 = APFM_6 + PSM7 + PSM7_EXTRA - VSM7;
ACP_7 = ACP_6 + CCP7 - PSP7 - PSP7_EXTRA;
APFP_7 = APFP_6 + PSP7 + PSP7_EXTRA - VSP7;
// AGOSTO
ACL_8 = ACL_7 + CCL8 - PSL8 - PSL8_EXTRA;
APFL_8 = APFL_7 + PSL8 + PSL8_EXTRA - VSL8;
ACM_8 = ACM_7 + CCM8 - PSM8 - PSM8_EXTRA;
APFM_8 = APFM_7 + PSM8 + PSM8_EXTRA - VSM8;
ACP_8 = ACP_7 + CCP8 - PSP8 - PSP8_EXTRA;
APFP_8 = APFP_7 + PSP8 + PSP8_EXTRA - VSP8;
// SETEMBRO
ACL_9 = ACL_8 + CCL9 - PSL9 - PSL9_EXTRA;
APFL_9 = APFL_8 + PSL9 + PSL9_EXTRA - VSL9;
ACM_9 = ACM_8 + CCM9 - PSM9 - PSM9_EXTRA;
APFM_9 = APFM_8 + PSM9 + PSM9_EXTRA - VSM9;
ACP_9 = ACP_8 + CCP9 - PSP9 - PSP9_EXTRA;
APFP_9 = APFP_8 + PSP9 + PSP9_EXTRA - VSP9;
// OUTUBRO
ACL_10 = ACL_9 + CCL10 - PSL10 - PSL10_EXTRA;
APFL_10 = APFL_9 + PSL10 + PSL10_EXTRA - VSL10;
ACM_10 = ACM_9 + CCM10 - PSM10 - PSM10_EXTRA;
APFM_10 = APFM_9 + PSM10 + PSM10_EXTRA - VSM10;
34

ACP_10 = ACP_9 + CCP10 - PSP10 - PSP10_EXTRA;


APFP_10 = APFP_9 + PSP10 + PSP10_EXTRA - VSP10;
// NOVEMBRO
ACL_11 = ACL_10 + CCL11 - PSL11 - PSL11_EXTRA;
APFL_11 = APFL_10 + PSL11 + PSL11_EXTRA - VSL11;
ACM_11 = ACM_10 + CCM11 - PSM11 - PSM11_EXTRA;
APFM_11 = APFM_10 + PSM11 + PSM11_EXTRA - VSM11;
ACP_11 = ACP_10 + CCP11 - PSP11 - PSP11_EXTRA;
APFP_11 = APFP_10 + PSP11 + PSP11_EXTRA - VSP11;

// DEZEMBRO
ACL_12 = ACL_11 + CCL12 - PSL12 - PSL12_EXTRA;
APFL_12 = APFL_11 + PSL12 + PSL12_EXTRA - VSL12;
ACM_12 = ACM_11 + CCM12 - PSM12 - PSM12_EXTRA;
APFM_12 = APFM_11 + PSM12 + PSM12_EXTRA - VSM12;
ACP_12 = ACP_11 + CCP12 - PSP12 - PSP12_EXTRA;
APFP_12 = APFP_11 + PSP12 + PSP12_EXTRA - VSP12;
//RESTRIES DE PRODUO
PSL1+PSM1+PSP1 <= 30;
PSL2+PSM2+PSP2 <= 30;
PSL3+PSM3+PSP3 = 0;
PSL4+PSM4+PSP4 <= 30;
PSL5+PSM5+PSP5 <= 30;
PSL6+PSM6+PSP6 <= 30;
PSL7+PSM7+PSP7 <= 30;
PSL8+PSM8+PSP8 <= 30;
PSL9+PSM9+PSP9 <= 30;
PSL10+PSM10+PSP10 <= 30;
PSL11+PSM11+PSP11 <= 30;
PSL12+PSM12+PSP12 <= 30;
//Produo extra
PSL1_EXTRA + PSM1_EXTRA + PSP1_EXTRA <= 6;
PSL2_EXTRA + PSM2_EXTRA + PSP2_EXTRA <= 6;
PSL3_EXTRA + PSM3_EXTRA + PSP3_EXTRA = 0;
PSL4_EXTRA + PSM4_EXTRA + PSP4_EXTRA <= 6;
PSL5_EXTRA + PSM5_EXTRA + PSP5_EXTRA <= 6;
PSL6_EXTRA + PSM6_EXTRA + PSP6_EXTRA <= 6;
PSL7_EXTRA + PSM7_EXTRA + PSP7_EXTRA <= 6;
PSL8_EXTRA + PSM8_EXTRA + PSP8_EXTRA <= 6;
PSL9_EXTRA + PSM9_EXTRA + PSP9_EXTRA <= 6;
35

PSL10_EXTRA + PSM10_EXTRA + PSP10_EXTRA <= 6;


PSL11_EXTRA + PSM11_EXTRA + PSP11_EXTRA <= 6;
PSL12_EXTRA + PSM12_EXTRA + PSP12_EXTRA <= 6;
//CUSTOS DE CADA MS
CUSTOL1 = 10PSL1 + 15PSL1_EXTRA + ACL_1 + 3APFL_1 + 170CCL1;
CUSTOM1 = 10PSM1 + 15PSM1_EXTRA + ACM_1 + 3APFM_1 + 231CCM1;
CUSTOP1 = 10PSP1 + 15PSP1_EXTRA + ACP_1 + 3APFP_1 + 116CCP1;
CUSTOL2 = 10PSL2 + 15PSL2_EXTRA + ACL_2 + 3APFL_2 + 155CCL2;
CUSTOM2 = 10PSM2 + 15PSM2_EXTRA + ACM_2 + 3APFM_2 + 199CCM2;
CUSTOP2 = 10PSP2 + 15PSP2_EXTRA + ACP_2 + 3APFP_2 + 116CCP2;
CUSTOL3 = 10PSL3 + 15PSL3_EXTRA + ACL_3 + 3APFL_3 + 170CCL3;
CUSTOM3 = 10PSM3 + 15PSM3_EXTRA + ACM_3 + 3APFM_3 + 187CCM3;
CUSTOP3 = 10PSP3 + 15PSP3_EXTRA + ACP_3 + 3APFP_3 + 124CCP3;
CUSTOL4 = 10PSL4 + 15PSL4_EXTRA + ACL_4 + 3APFL_4 + 155CCL4;
CUSTOM4 = 10PSM4 + 15PSM4_EXTRA + ACM_4 + 3APFM_4 + 198CCM4;
CUSTOP4 = 10PSP4 + 15PSP4_EXTRA + ACP_4 + 3APFP_4 + 120CCP4;
CUSTOL5 = 10PSL5 + 15PSL5_EXTRA + ACL_5 + 3APFL_5 + 170CCL5;
CUSTOM5 = 10PSM5 + 15PSM5_EXTRA + ACM_5 + 3APFM_5 + 210CCM5;
CUSTOP5 = 10PSP5 + 15PSP5_EXTRA + ACP_5 + 3APFP_5 + 132CCP5;
CUSTOL6 = 10PSL6 + 15PSL6_EXTRA + ACL_6 + 3APFL_6 + 155CCL6;
CUSTOM6 = 10PSM6 + 15PSM6_EXTRA + ACM_6 + 3APFM_6 + 208CCM6;
CUSTOP6 = 10PSP6 + 15PSP6_EXTRA + ACP_6 + 3APFP_6 + 128CCP6;
CUSTOL7 = 10PSL7 + 15PSL7_EXTRA + ACL_7 + 3APFL_7 + 170CCL7;
CUSTOM7 = 10PSM7 + 15PSM7_EXTRA + ACM_7 + 3APFM_7 + 211CCM7;
CUSTOP7 = 10PSP7 + 15PSP7_EXTRA + ACP_7 + 3APFP_7 + 136CCP7;
CUSTOL8 = 12PSL8 + 18PSL8_EXTRA + ACL_8 + 3APFL_8 + 155CCL8;
CUSTOM8 = 12PSM8 + 18PSM8_EXTRA + ACM_8 + 3APFM_8 + 220CCM8;
CUSTOP8 = 12PSP8 + 18PSP8_EXTRA + ACP_8 + 3APFP_8 + 116CCP8;
CUSTOL9 = 10PSL9 + 15PSL9_EXTRA + ACL_9 + 3APFL_9 + 170CCL9;
CUSTOM9 = 10PSM9 + 15PSM9_EXTRA + ACM_9 + 3APFM_9 + 217CCM9;
36

CUSTOP9 = 10PSP9 + 15PSP9_EXTRA + ACP_9 + 3APFP_9 + 120CCP9;


CUSTOL10 = 10PSL10 + 15PSL10_EXTRA + ACL_10 + 3APFL_10 + 155CCL10;
CUSTOM10 = 10PSM10 + 15PSM10_EXTRA + ACM_10 + 3APFM_10 + 216CCM10;
CUSTOP10 = 10PSP10 + 15PSP10_EXTRA + ACP_10 + 3APFP_10 + 108CCP10;
CUSTOL11 = 10PSL11 + 15PSL11_EXTRA + ACL_11 + 3APFL_11 + 170CCL11;
CUSTOM11 = 10PSM11 + 15PSM11_EXTRA + ACM_11 + 3APFM_11 + 221CCM11;
CUSTOP11 = 10PSP11 + 15PSP11_EXTRA + ACP_11 + 3APFP_11 + 100CCP11;
CUSTOL12 = 10PSL12 + 15PSL12_EXTRA + ACL_12 + 3APFL_12 + 155CCL12;
CUSTOM12 = 10PSM12 + 15PSM12_EXTRA + ACM_12 + 3APFM_12 + 217CCM12;
CUSTOP12 = 10PSP12 + 15PSP12_EXTRA + ACP_12 + 3APFP_12 + 116CCP12;
Ms de setembro:
O ficheiro input para o ms de Setembro semelhante ao de Maro sendo alterado apenas
nas linhas de restries de produo e produo extra.

//RESTRIES DE PRODUO
PSL1+PSM1+PSP1 <= 30;
PSL2+PSM2+PSP2 <= 30;
PSL3+PSM3+PSP3 <= 30;
PSL4+PSM4+PSP4 <= 30;
PSL5+PSM5+PSP5 <= 30;
PSL6+PSM6+PSP6 <= 30;
PSL7+PSM7+PSP7 <= 30;
PSL8+PSM8+PSP8 <= 30;
PSL9+PSM9+PSP9 = 0;
PSL10+PSM10+PSP10 <= 30;
PSL11+PSM11+PSP11 <= 30;
PSL12+PSM12+PSP12 <= 30;
//Produo extra
PSL1_EXTRA + PSM1_EXTRA + PSP1_EXTRA <= 6;
PSL2_EXTRA + PSM2_EXTRA + PSP2_EXTRA <= 6;
PSL3_EXTRA + PSM3_EXTRA + PSP3_EXTRA <= 6;
PSL4_EXTRA + PSM4_EXTRA + PSP4_EXTRA <= 6;
PSL5_EXTRA + PSM5_EXTRA + PSP5_EXTRA <= 6;
PSL6_EXTRA + PSM6_EXTRA + PSP6_EXTRA <= 6;
PSL7_EXTRA + PSM7_EXTRA + PSP7_EXTRA <= 6;
PSL8_EXTRA + PSM8_EXTRA + PSP8_EXTRA <= 6;
PSL9_EXTRA + PSM9_EXTRA + PSP9_EXTRA = 0;
PSL10_EXTRA + PSM10_EXTRA + PSP10_EXTRA <= 6;
PSL11_EXTRA + PSM11_EXTRA + PSP11_EXTRA <= 6;
PSL12_EXTRA + PSM12_EXTRA + PSP12_EXTRA <= 6;

37

IV.3. Apresente o ficheiro de output produzido pelo programa (cut-and-paste)

Ms de maro:
ACP_5

APFP_12

10

52334

ACP_6

APFP_2

14

ACL_1

16

ACP_7

APFP_3

10

ACL_10

ACP_8

APFP_4

ACL_11

ACP_9

APFP_5

ACL_12

16

ACP_I

APFP_6

ACL_2

APFL_1

11

APFP_7

ACL_3

APFL_10

APFP_8

ACL_4

APFL_11

APFP_9

ACL_5

APFL_12

20

APFP_I

10

ACL_6

19

APFL_2

18

CCL1

ACL_7

APFL_3

CCL10

22

ACL_8

16

APFL_4

16

CCL11

ACL_9

APFL_5

CCL12

45

ACL_I

16

APFL_6

CCL2

ACM_1

APFL_7

CCL3

ACM_10

13

APFL_8

CCL4

19

ACM_11

APFL_9

CCL5

ACM_12

APFL_I

20

CCL6

36

ACM_2

APFM_1

CCL7

ACM_3

30

APFM_10

CCL8

35

ACM_4

29

APFM_11

CCL9

ACM_5

APFM_12

10

CCM1

ACM_6

APFM_2

CCM10

19

ACM_7

APFM_3

CCM11

ACM_8

APFM_4

CCM12

15

ACM_9

APFM_5

20

CCM2

ACM_I

APFM_6

11

CCM3

30

ACP_1

APFM_7

10

CCM4

10

ACP_10

APFM_8

CCM5

ACP_11

APFM_9

CCM6

ACP_12

APFM_I

10

CCM7

ACP_2

APFP_1

12

CCM8

ACP_3

APFP_10

CCM9

ACP_4

APFP_11

14

CCP1

Variables

result

38

CCP10

CUSTOP2

798

CCP11

24

CUSTOP3

30

CCP12

CUSTOP4

136

CCP2

CUSTOP5

10

CCP3

CUSTOP6

2070

CCP4

CUSTOP7

20

CCP5

CUSTOP8

1726

CCP6

15

CUSTOP9

60

CCP7

PSL1

CCP8

14

PSL10

19

CCP9

CUSTOL1

49

PSM1_EXTRA

PSM2

PSM2_EXTRA

PSM3

PSM3_EXTRA

PSM4
PSM4_EXTRA
PSM5

11
0
20

PSM5_EXTRA

PSM6

PSL10_EXTRA

PSM6_EXTRA

PSL11

PSM7

PSL11_EXTRA

PSM7_EXTRA

PSM8

CUSTOL10

3624

CUSTOL11

30

CUSTOL12

7341

PSL12_EXTRA

PSM8_EXTRA

CUSTOL2

214

PSL1_EXTRA

PSM9

CUSTOL3

27

PSM9_EXTRA

CUSTOL4

3183

CUSTOL5

CUSTOL6

5769

CUSTOL7

190

CUSTOL8

5669

CUSTOL9

160

CUSTOM1

23

PSL12

PSL2

29

16

PSL2_EXTRA

PSP1

PSL3

PSP10

PSL3_EXTRA

PSP10_EXTRA

PSL4

19

PSP11

18

PSL4_EXTRA

PSP11_EXTRA

PSL5

PSP12

PSL5_EXTRA

PSP12_EXTRA

17

PSP1_EXTRA

PSP2

PSP2_EXTRA

PSP3

PSP3_EXTRA

PSP4

PSP4_EXTRA

CUSTOM10

4177

PSL6

CUSTOM11

174

CUSTOM12

3393

CUSTOM2

104

CUSTOM3

5649

PSL8

CUSTOM4

2143

PSL8_EXTRA

CUSTOM5

269

CUSTOM6

42

CUSTOM7

1816

CUSTOM8

CUSTOM9

PSL6_EXTRA
PSL7
PSL7_EXTRA

PSL9

0
19
0
19
0
16

PSL9_EXTRA

PSP5

PSM1

PSP5_EXTRA

PSM10

PSP6

80

PSM10_EXTRA

PSP6_EXTRA

CUSTOP1

96

PSM11

PSP7

CUSTOP10

590

PSM11_EXTRA

PSP7_EXTRA

CUSTOP11

2628

PSM12

PSP8

CUSTOP12

36

PSM12_EXTRA

PSP8_EXTRA

13

39

PSP9

VSL9

16

VSP1

PSP9_EXTRA

VSM1

VSP10

VSL1

VSM10

VSP11

VSL10

12

VSM11

VSP12

VSL11

10

VSM12

VSP2

VSL12

VSM2

VSP3

VSL2

VSM3

VSP4

VSL3

VSM4

VSP5

VSL4

12

VSM5

VSP6

VSL5

16

VSM6

VSP7

VSL6

17

VSM7

10

VSP8

VSL7

19

VSM8

10

VSP9

VSL8

19

VSM9

ACM_5

APFL_12

20

52284

ACM_6

APFL_2

14

ACL_1

16

ACM_7

30

APFL_3

ACL_10

ACM_8

30

APFL_4

ACL_11

ACM_9

30

APFL_5

ACL_12

16

ACM_I

APFL_6

10

ACL_2

ACP_1

APFL_7

13

ACL_3

ACP_10

APFL_8

16

ACL_4

ACP_11

APFL_9

ACL_5

ACP_12

APFL_I

20

ACL_6

22

ACP_2

APFM_1

ACL_7

ACP_3

APFM_10

ACL_8

ACP_4

APFM_11

ACL_9

ACP_5

APFM_12

10

ACL_I

16

ACP_6

APFM_2

ACM_1

ACP_7

APFM_3

31

ACM_10

25

ACP_8

APFM_4

25

ACM_11

13

ACP_9

APFM_5

39

ACM_12

ACP_I

APFM_6

30

ACM_2

APFL_1

11

APFM_7

20

ACM_3

22

APFL_10

APFM_8

10

ACM_4

22

APFL_11

APFM_9

Ms de setembro:
Variables

result

40

APFM_I

10

CCP10

CUSTOP2

12

APFP_1

CCP11

24

CUSTOP3

24

APFP_10

CCP12

CUSTOP4

1101

APFP_11

14

CCP2

CUSTOP5

APFP_12

10

CCP3

CUSTOP6

1860

APFP_2

CCP4

CUSTOP7

80

APFP_3

CCP5

CUSTOP8

1810

APFP_4

CCP6

14

CUSTOP9

APFP_5

CCP7

6,14E-13

PSL1

APFP_6

CCP8

14

PSL10

20

APFP_7

CCP9

APFP_8

CUSTOL1

APFP_9

CUSTOL10

3636

APFP_I

10

CUSTOL11

30

CCL1

CUSTOL12

7341

PSL12_EXTRA

CCL10

22

CUSTOL2

166

PSL1_EXTRA

CCL11

CUSTOL3

19

CCL12

45

CUSTOL4

3127

CCL2

CUSTOL5

80

CCL3

CUSTOL6

7932

CCL4

19

CUSTOL7

259

CCL5

CUSTOL8

3758

CCL6

49

CUSTOL9

CCL7

CUSTOM1

CCL8

22

CCL9

49

PSL10_EXTRA

PSL11

PSL11_EXTRA

PSL12

PSL2

29

12

PSL2_EXTRA

PSL3

PSL3_EXTRA

PSL4

15

PSL4_EXTRA

PSL5

23

PSL5_EXTRA

CUSTOM10

78

PSL6

CUSTOM11

157

PSL6_EXTRA

CCM1

CUSTOM12

572

PSL7

CCM10

CUSTOM2

104

PSL7_EXTRA

CCM11

CUSTOM3

9745

CCM12

CUSTOM4

97

CCM2

CUSTOM5

337

CCM3

50

CUSTOM6

90

CCM4

CUSTOM7

6420

CCM5

CUSTOM8

CCM6

CCM7

PSL8

24
3
22
0
16

PSL8_EXTRA

PSL9

PSL9_EXTRA

PSM1

60

PSM10

CUSTOM9

36

PSM10_EXTRA

30

CUSTOP1

24

PSM11

CCM8

CUSTOP10

590

CCM9

CUSTOP11

2628

CCP1

CUSTOP12

36

12

PSM11_EXTRA

PSM12

PSM12_EXTRA

6
41

PSM1_EXTRA

PSP2_EXTRA

VSL9

16

PSM2

PSP3

VSM1

PSM2_EXTRA

PSP3_EXTRA

VSM10

12

VSM11

PSM3

28

PSP4

PSM3_EXTRA

PSP4_EXTRA

VSM12

PSM4

PSP5

VSM2

PSM4_EXTRA

PSP5_EXTRA

VSM3

PSP6

VSM4

PSM5

22

PSM5_EXTRA

PSP6_EXTRA

VSM5

PSM6

PSP7

VSM6

PSM6_EXTRA

PSP7_EXTRA

VSM7

10

PSM7

PSP8

14

VSM8

10

PSM7_EXTRA

PSP8_EXTRA

VSM9

PSM8

PSP9

VSP1

PSM8_EXTRA

PSP9_EXTRA

VSP10

PSM9

VSL1

VSP11

PSM9_EXTRA

VSL10

12

VSP12

PSP1

VSL11

10

VSP2

PSP10

VSL12

VSP3

PSP10_EXTRA

VSL2

VSP4

18

VSL3

VSP5

PSP11_EXTRA

VSL4

12

VSP6

PSP12

VSL5

16

VSP7

PSP12_EXTRA

VSL6

17

VSP8

PSP1_EXTRA

VSL7

19

VSP9

PSP2

VSL8

19

PSP11

Parte V
Partindo do modelo da Parte IV, considere agora que se pretende fazer um plano de
produo em que, em cada perodo, apenas se produz um nico tipo de sumo.
V.1. Formule este problema como um modelo de programao linear mista (i.e., usando
variveis binrias e variveis reais). Explique detalhadamente o significado das novas
restries do modelo e da funo objetivo do modelo. Tea todas as consideraes que
considere necessrias.

Para esta parte, uma vez que apenas se pretende produzir um nico tipo de sumo por
perodo (ms) foi necessrio acrescentar variveis binrias para a deciso de qual tipo de sumo
produzir. Cada varivel indica se devemos produzir (1) ou no (0) em cada ms. B[y][x], em que
y representa o ms de 1 a 12 e x o tipo de sumo a produzir (L = laranja, M = ma, P = pra)
foram os nomes escolhidos para as variveis.
42

bin B1L, B2L, B3L, B4L, B5L, B6L, B7L, B8L, B9L, B10L, B11L, B12L,
B1M, B2M, B3M, B4M, B5M, B6M, B7M, B8M, B9M, B10M, B11M, B12M,
B1P, B2P, B3P, B4P, B5P, B6P, B7P, B8P, B9P, B10P, B11P, B12P;

Neste caso as restries para a produo foram alteradas. Nestas novas restries
indicado que a produo do sumo x no ms y ter que ser menor ou igual a 30 U.E.
multiplicado pela varivel de deciso. Ento, caso se decida no produzir o tipo de sumo x
(Byx=0), a produo desse sumo no ms y ser PSxy <= 30 * 0, ou seja, PSxy <= 0. Pelo
contrrio, se se decidir produzir o sumo x (Byx=1), ento a produo desse sumo no ms y ser
PSxy <= 30 * 1, ou seja, PSxy <= 30. Limitamos ento a produo dos tipos de sumo a 0 U.E. ou
a 30 U.E.
Para a produo extra usamos tambm o mesmo mtodo (e mesmas variveis
binrias) mas desta vez limitando a produo a 0 U.E. ou a 6 U.E.

//RESTRIES DE PRODUO
PSxy <= 30Byx;
//Produo extra
PSxy_EXTRA <= 6Byx;
Como queremos produzir apenas um nico tipo de sumo por ms devemos limitar a
soma das variveis binrias de cada ms e de cada produto a 1 tendo assim apenas uma
varivel a 1 e as restantes a 0 (ou ento todas a 0). Com isto temos a certeza que ele apenas
produzir um nico tipo de sumo em cada perodo.
//RESTRIES VARIVEIS BINRIAS
B1L + B1M + B1P <= 1;
B2L + B2M + B2P <= 1;
B3L + B3M + B3P <= 1;
B4L + B4M + B4P <= 1;
B5L + B5M + B5P <= 1;
B6L + B6M + B6P <= 1;
B7L + B7M + B7P <= 1;
B8L + B8M + B8P <= 1;
B9L + B9M + B9P <= 1;
B10L + B10M + B10P <= 1;
B11L + B11M + B11P <= 1;
B12L + B12M + B12P <= 1;

43

considerado tambm que para este caso no haver cortes de produo em nenhum
ms.
V.2. Apresente o ficheiro de input (cut-and-paste)
/* Objective function */
min : CUSTOL1 + CUSTOL2 + CUSTOL3 + CUSTOL4 + CUSTOL5 + CUSTOL6 + CUSTOL7 + CUSTOL8
+ CUSTOL9 + CUSTOL10 + CUSTOL11 + CUSTOL12 +CUSTOM1 + CUSTOM2 + CUSTOM3 +
CUSTOM4 + CUSTOM5 + CUSTOM6 + CUSTOM7 + CUSTOM8 + CUSTOM9 + CUSTOM10 +
CUSTOM11 + CUSTOM12 +CUSTOP1 + CUSTOP2 + CUSTOP3 + CUSTOP4 + CUSTOP5 + CUSTOP6
+ CUSTOP7 + CUSTOP8 + CUSTOP9 + CUSTOP10 + CUSTOP11 + CUSTOP12;
/* Variable bounds */
// VENDAS [1 = JAN ... 12 = DEZ]
VSL1 = 9;
VSM1 = 5;
VSP1 = 4;
VSL2 = 9;
VSM2 = 5;
VSP2 = 4;
VSL3 = 9;
VSM3 = 5;
VSP3 = 4;
VSL4 = 12;
VSM4 = 6;
VSP4 = 5;
VSL5 = 16;
VSM5 = 8;
VSP5 = 6;
VSL6 = 17;
VSM6 = 9;
VSP6 = 7;
VSL7 = 19;
VSM7 = 10;
VSP7 = 8;
VSL8 = 19;
VSM8 = 10;
VSP8 = 8;
VSL9 = 16;
VSM9 = 8;
VSP9 = 6;
VSL10 = 12;
44

VSM10 = 6;
VSP10 = 5;
VSL11 = 10;
VSM11 = 5;
VSP11 = 4;
VSL12 = 9;
VSM12 = 5;
VSP12 = 4;
//VALORES INICIAIS DOS ARMAZNS
ACL_I = 16;
APFL_I = 20;
ACM_I = 8;
APFM_I = 10;
ACP_I = 6;
APFP_I = 10;
// JANEIRO
ACL_1 = ACL_I + CCL1 - PSL1 - PSL1_EXTRA;
APFL_1 = APFL_I + PSL1 + PSL1_EXTRA - VSL1;
ACM_1 = ACM_I + CCM1 - PSM1 - PSM1_EXTRA;
APFM_1 = APFM_I + PSM1 + PSM1_EXTRA - VSM1;
ACP_1 = ACP_I + CCP1 - PSP1 - PSP1_EXTRA;
APFP_1 = APFP_I + PSP1 + PSP1_EXTRA - VSP1;
// FEVEREIRO
ACL_2 = ACL_1 + CCL2 - PSL2 - PSL2_EXTRA;
APFL_2 = APFL_1 + PSL2 + PSL2_EXTRA - VSL2;
ACM_2 = ACM_1 + CCM2 - PSM2 - PSM2_EXTRA;
APFM_2 = APFM_1 + PSM2 + PSM2_EXTRA - VSM2;
ACP_2 = ACP_1 + CCP2 - PSP2 - PSP2_EXTRA;
APFP_2 = APFP_1 + PSP2 + PSP2_EXTRA - VSP2;
// MARO
ACL_3 = ACL_2 + CCL3 - PSL3 - PSL3_EXTRA;
APFL_3 = APFL_2 + PSL3 + PSL3_EXTRA - VSL3;
ACM_3 = ACM_2 + CCM3 - PSM3 - PSM3_EXTRA;
APFM_3 = APFM_2 + PSM3 + PSM3_EXTRA - VSM3;
ACP_3 = ACP_2 + CCP3 - PSP3 - PSP3_EXTRA;
APFP_3 = APFP_2 + PSP3 + PSP3_EXTRA - VSP3;
// ABRIL
ACL_4 = ACL_3 + CCL4 - PSL4 - PSL4_EXTRA;
APFL_4 = APFL_3 + PSL4 + PSL4_EXTRA - VSL4;
ACM_4 = ACM_3 + CCM4 - PSM4 - PSM4_EXTRA;
APFM_4 = APFM_3 + PSM4 + PSM4_EXTRA - VSM4;
45

ACP_4 = ACP_3 + CCP4 - PSP4 - PSP4_EXTRA;


APFP_4 = APFP_3 + PSP4 + PSP4_EXTRA - VSP4;
// MAIO
ACL_5 = ACL_4 + CCL5 - PSL5 - PSL5_EXTRA;
APFL_5 = APFL_4 + PSL5 + PSL5_EXTRA - VSL5;
ACM_5 = ACM_4 + CCM5 - PSM5 - PSM5_EXTRA;
APFM_5 = APFM_4 + PSM5 + PSM5_EXTRA - VSM5;
ACP_5 = ACP_4 + CCP5 - PSP5 - PSP5_EXTRA;
APFP_5 = APFP_4 + PSP5 + PSP5_EXTRA - VSP5;
// JUNHO
ACL_6 = ACL_5 + CCL6 - PSL6 - PSL6_EXTRA;
APFL_6 = APFL_5 + PSL6 + PSL6_EXTRA - VSL6;
ACM_6 = ACM_5 + CCM6 - PSM6 - PSM6_EXTRA;
APFM_6 = APFM_5 + PSM6 + PSM6_EXTRA - VSM6;
ACP_6 = ACP_5 + CCP6 - PSP6 - PSP6_EXTRA;
APFP_6 = APFP_5 + PSP6 + PSP6_EXTRA - VSP6;
// JULHO
ACL_7 = ACL_6 + CCL7 - PSL7 - PSL7_EXTRA;
APFL_7 = APFL_6 + PSL7 + PSL7_EXTRA - VSL7;
ACM_7 = ACM_6 + CCM7 - PSM7 - PSM7_EXTRA;
APFM_7 = APFM_6 + PSM7 + PSM7_EXTRA - VSM7;
ACP_7 = ACP_6 + CCP7 - PSP7 - PSP7_EXTRA;
APFP_7 = APFP_6 + PSP7 + PSP7_EXTRA - VSP7;
// AGOSTO
ACL_8 = ACL_7 + CCL8 - PSL8 - PSL8_EXTRA;
APFL_8 = APFL_7 + PSL8 + PSL8_EXTRA - VSL8;
ACM_8 = ACM_7 + CCM8 - PSM8 - PSM8_EXTRA;
APFM_8 = APFM_7 + PSM8 + PSM8_EXTRA - VSM8;
ACP_8 = ACP_7 + CCP8 - PSP8 - PSP8_EXTRA;
APFP_8 = APFP_7 + PSP8 + PSP8_EXTRA - VSP8;
// SETEMBRO
ACL_9 = ACL_8 + CCL9 - PSL9 - PSL9_EXTRA;
APFL_9 = APFL_8 + PSL9 + PSL9_EXTRA - VSL9;
ACM_9 = ACM_8 + CCM9 - PSM9 - PSM9_EXTRA;
APFM_9 = APFM_8 + PSM9 + PSM9_EXTRA - VSM9;
ACP_9 = ACP_8 + CCP9 - PSP9 - PSP9_EXTRA;
APFP_9 = APFP_8 + PSP9 + PSP9_EXTRA - VSP9;
// OUTUBRO
ACL_10 = ACL_9 + CCL10 - PSL10 - PSL10_EXTRA;
APFL_10 = APFL_9 + PSL10 + PSL10_EXTRA - VSL10;
ACM_10 = ACM_9 + CCM10 - PSM10 - PSM10_EXTRA;
APFM_10 = APFM_9 + PSM10 + PSM10_EXTRA - VSM10;
ACP_10 = ACP_9 + CCP10 - PSP10 - PSP10_EXTRA;
APFP_10 = APFP_9 + PSP10 + PSP10_EXTRA - VSP10;
// NOVEMBRO
46

ACL_11 = ACL_10 + CCL11 - PSL11 - PSL11_EXTRA;


APFL_11 = APFL_10 + PSL11 + PSL11_EXTRA - VSL11;
ACM_11 = ACM_10 + CCM11 - PSM11 - PSM11_EXTRA;
APFM_11 = APFM_10 + PSM11 + PSM11_EXTRA - VSM11;
ACP_11 = ACP_10 + CCP11 - PSP11 - PSP11_EXTRA;
APFP_11 = APFP_10 + PSP11 + PSP11_EXTRA - VSP11;

// DEZEMBRO
ACL_12 = ACL_11 + CCL12 - PSL12 - PSL12_EXTRA;
APFL_12 = APFL_11 + PSL12 + PSL12_EXTRA - VSL12;
ACM_12 = ACM_11 + CCM12 - PSM12 - PSM12_EXTRA;
APFM_12 = APFM_11 + PSM12 + PSM12_EXTRA - VSM12;
ACP_12 = ACP_11 + CCP12 - PSP12 - PSP12_EXTRA;
APFP_12 = APFP_11 + PSP12 + PSP12_EXTRA - VSP12;

// RESTRIES QUANTIDADES ARMAZNS


ACL_1 + ACM_1 + ACP_1 <= 30;
APFL_1 + APFM_1 + APFP_1 <= 40;
ACL_2 + ACM_2 + ACP_2 <= 30;
APFL_2 + APFM_2 + APFP_2 <= 40;
ACL_3 + ACM_3 + ACP_3 <= 30;
APFL_3 + APFM_3 + APFP_3 <= 40;
ACL_4 + ACM_4 + ACP_4 <= 30;
APFL_4 + APFM_4 + APFP_4 <= 40;
ACL_5 + ACM_5 + ACP_5 <= 30;
APFL_5 + APFM_5 + APFP_5 <= 40;
ACL_6 + ACM_6 + ACP_6 <= 30;
APFL_6 + APFM_6 + APFP_6 <= 40;
ACL_7 + ACM_7 + ACP_7 <= 30;
APFL_7 + APFM_7 + APFP_7 <= 40;
ACL_8 + ACM_8 + ACP_8 <= 30;
APFL_8 + APFM_8 + APFP_8 <= 40;
ACL_9 + ACM_9 + ACP_9 <= 30;
APFL_9 + APFM_9 + APFP_9 <= 40;
ACL_10 + ACM_10 + ACP_10 <= 30;
APFL_10 + APFM_10 + APFP_10 <= 40;
ACL_11 + ACM_11 + ACP_11 <= 30;
APFL_11 + APFM_11 + APFP_11 <= 40;
ACL_12 + ACM_12 + ACP_12 <= 30;
APFL_12 + APFM_12 + APFP_12 <= 40;
ACL_12 = ACL_I;
ACM_12 = ACM_I;
ACP_12 = ACP_I;
APFL_12 = APFL_I;
APFM_12 = APFM_I;
APFP_12 = APFP_I;

47

//RESTRIES DE PRODUO
PSL1 <= 30B1L;
PSL2 <= 30B2L;
PSL3 <= 30B3L;
PSL4 <= 30B4L;
PSL5 <= 30B5L;
PSL6 <= 30B6L;
PSL7 <= 30B7L;
PSL8 <= 30B8L;
PSL9 <= 30B9L;
PSL10 <= 30B10L;
PSL11 <= 30B11L;
PSL12 <= 30B12L;
PSM1 <= 30B1M;
PSM2 <= 30B2M;
PSM3 <= 30B3M;
PSM4 <= 30B4M;
PSM5 <= 30B5M;
PSM6 <= 30B6M;
PSM7 <= 30B7M;
PSM8 <= 30B8M;
PSM9 <= 30B9M;
PSM10 <= 30B10M;
PSM11 <= 30B11M;
PSM12 <= 30B12M;
PSP1 <= 30B1P;
PSP2 <= 30B2P;
PSP3 <= 30B3P;
PSP4 <= 30B4P;
PSP5 <= 30B5P;
PSP6 <= 30B6P;
PSP7 <= 30B7P;
PSP8 <= 30B8P;
PSP9 <= 30B9P;
PSP10 <= 30B10P;
PSP11 <= 30B11P;
PSP12 <= 30B12P;

48

//RESTRIES VARIVEIS BINRIAS


B1L + B1M + B1P <= 1;
B2L + B2M + B2P <= 1;
B3L + B3M + B3P <= 1;
B4L + B4M + B4P <= 1;
B5L + B5M + B5P <= 1;
B6L + B6M + B6P <= 1;
B7L + B7M + B7P <= 1;
B8L + B8M + B8P <= 1;
B9L + B9M + B9P <= 1;
B10L + B10M + B10P <= 1;
B11L + B11M + B11P <= 1;
B12L + B12M + B12P = 1;
//Produo extra
PSL1_EXTRA <= 6B1L;
PSL2_EXTRA <= 6B2L;
PSL3_EXTRA <= 6B3l;
PSL4_EXTRA <= 6B4L;
PSL5_EXTRA <= 6B5L;
PSL6_EXTRA <= 6B6L;
PSL7_EXTRA <= 6B7L;
PSL8_EXTRA <= 6B8L;
PSL9_EXTRA <= 6B9L;
PSL10_EXTRA <= 6B10L;
PSL11_EXTRA <= 6B11L;
PSL12_EXTRA <= 6B12L;
PSM1_EXTRA <= 6B1M;
PSM2_EXTRA <= 6B2M;
PSM3_EXTRA <= 6B3M;
PSM4_EXTRA <= 6B4M;
PSM5_EXTRA <= 6B5M;
PSM6_EXTRA <= 6B6M;
PSM7_EXTRA <= 6B7M;
PSM8_EXTRA <= 6B8M;
PSM9_EXTRA <= 6B9M;
PSM10_EXTRA <= 6B10M;
PSM11_EXTRA <= 6B11M;
PSM12_EXTRA <= 6B12M;
49

PSP1_EXTRA <= 6B1P;


PSP2_EXTRA <= 6B2P;
PSP3_EXTRA <= 6B3P;
PSP4_EXTRA <= 6B4P;
PSP5_EXTRA <= 6B5P;
PSP6_EXTRA <= 6B6P;
PSP7_EXTRA <= 6B7P;
PSP8_EXTRA <= 6B8P;
PSP9_EXTRA <= 6B9P;
PSP10_EXTRA <= 6B10P;
PSP11_EXTRA <= 6B11P;
PSP12_EXTRA <= 6B12P;
//CUSTOS DE CADA MS
CUSTOL1 = 10PSL1 + 15PSL1_EXTRA + ACL_1 + 3APFL_1 + 170CCL1;
CUSTOM1 = 10PSM1 + 15PSM1_EXTRA + ACM_1 + 3APFM_1 + 231CCM1;
CUSTOP1 = 10PSP1 + 15PSP1_EXTRA + ACP_1 + 3APFP_1 + 116CCP1;
CUSTOL2 = 10PSL2 + 15PSL2_EXTRA + ACL_2 + 3APFL_2 + 155CCL2;
CUSTOM2 = 10PSM2 + 15PSM2_EXTRA + ACM_2 + 3APFM_2 + 199CCM2;
CUSTOP2 = 10PSP2 + 15PSP2_EXTRA + ACP_2 + 3APFP_2 + 116CCP2;
CUSTOL3 = 10PSL3 + 15PSL3_EXTRA + ACL_3 + 3APFL_3 + 170CCL3;
CUSTOM3 = 10PSM3 + 15PSM3_EXTRA + ACM_3 + 3APFM_3 + 187CCM3;
CUSTOP3 = 10PSP3 + 15PSP3_EXTRA + ACP_3 + 3APFP_3 + 124CCP3;
CUSTOL4 = 10PSL4 + 15PSL4_EXTRA + ACL_4 + 3APFL_4 + 155CCL4;
CUSTOM4 = 10PSM4 + 15PSM4_EXTRA + ACM_4 + 3APFM_4 + 198CCM4;
CUSTOP4 = 10PSP4 + 15PSP4_EXTRA + ACP_4 + 3APFP_4 + 120CCP4;
CUSTOL5 = 10PSL5 + 15PSL5_EXTRA + ACL_5 + 3APFL_5 + 170CCL5;
CUSTOM5 = 10PSM5 + 15PSM5_EXTRA + ACM_5 + 3APFM_5 + 210CCM5;
CUSTOP5 = 10PSP5 + 15PSP5_EXTRA + ACP_5 + 3APFP_5 + 132CCP5;
CUSTOL6 = 10PSL6 + 15PSL6_EXTRA + ACL_6 + 3APFL_6 + 155CCL6;
CUSTOM6 = 10PSM6 + 15PSM6_EXTRA + ACM_6 + 3APFM_6 + 208CCM6;
CUSTOP6 = 10PSP6 + 15PSP6_EXTRA + ACP_6 + 3APFP_6 + 128CCP6;

50

CUSTOL7 = 10PSL7 + 15PSL7_EXTRA + ACL_7 + 3APFL_7 + 170CCL7;


CUSTOM7 = 10PSM7 + 15PSM7_EXTRA + ACM_7 + 3APFM_7 + 211CCM7;
CUSTOP7 = 10PSP7 + 15PSP7_EXTRA + ACP_7 + 3APFP_7 + 136CCP7;
CUSTOL8 = 12PSL8 + 18PSL8_EXTRA + ACL_8 + 3APFL_8 + 155CCL8;
CUSTOM8 = 12PSM8 + 18PSM8_EXTRA + ACM_8 + 3APFM_8 + 220CCM8;
CUSTOP8 = 12PSP8 + 18PSP8_EXTRA + ACP_8 + 3APFP_8 + 116CCP8;
CUSTOL9 = 10PSL9 + 15PSL9_EXTRA + ACL_9 + 3APFL_9 + 170CCL9;
CUSTOM9 = 10PSM9 + 15PSM9_EXTRA + ACM_9 + 3APFM_9 + 217CCM9;
CUSTOP9 = 10PSP9 + 15PSP9_EXTRA + ACP_9 + 3APFP_9 + 120CCP9;
CUSTOL10 = 10PSL10 + 15PSL10_EXTRA + ACL_10 + 3APFL_10 + 155CCL10;
CUSTOM10 = 10PSM10 + 15PSM10_EXTRA + ACM_10 + 3APFM_10 + 216CCM10;
CUSTOP10 = 10PSP10 + 15PSP10_EXTRA + ACP_10 + 3APFP_10 + 108CCP10;
CUSTOL11 = 10PSL11 + 15PSL11_EXTRA + ACL_11 + 3APFL_11 + 170CCL11;
CUSTOM11 = 10PSM11 + 15PSM11_EXTRA + ACM_11 + 3APFM_11 + 221CCM11;
CUSTOP11 = 10PSP11 + 15PSP11_EXTRA + ACP_11 + 3APFP_11 + 100CCP11;
CUSTOL12 = 10PSL12 + 15PSL12_EXTRA + ACL_12 + 3APFL_12 + 155CCL12;
CUSTOM12 = 10PSM12 + 15PSM12_EXTRA + ACM_12 + 3APFM_12 + 217CCM12;
CUSTOP12 = 10PSP12 + 15PSP12_EXTRA + ACP_12 + 3APFP_12 + 116CCP12;
bin B1L, B2L, B3L, B4L, B5L, B6L, B7L, B8L, B9L, B10L, B11L, B12L,
B1M, B2M, B3M, B4M, B5M, B6M, B7M, B8M, B9M, B10M, B11M, B12M,
B1P, B2P, B3P, B4P, B5P, B6P, B7P, B8P, B9P, B10P, B11P, B12P;
V.3. Apresente o ficheiro de output produzido pelo programa (cut-and-paste)

Variables
ACL_1
ACL_10
ACL_11
ACL_12
ACL_2
ACL_3
ACL_4
ACL_5

MILP Feasible
MILP Better
MILP Better2 MILP Better3 result
53153
53000
52980
52820
52820
16
16
16
4
4
0
0
0
0
0
0
0
0
0
0
16
16
16
16
16
0
4
5
4
4
0
4
0
4
4
0
0
0
0
0
0
0
0
0
0

51

ACL_6
ACL_7
ACL_8
ACL_9
ACL_I
ACM_1
ACM_10
ACM_11
ACM_12
ACM_2
ACM_3
ACM_4
ACM_5
ACM_6
ACM_7
ACM_8
ACM_9
ACM_I
ACP_1
ACP_10
ACP_11
ACP_12
ACP_2
ACP_3
ACP_4
ACP_5
ACP_6
ACP_7
ACP_8
ACP_9
ACP_I
APFL_1
APFL_10
APFL_11
APFL_12
APFL_2
APFL_3
APFL_4
APFL_5
APFL_6
APFL_7
APFL_8
APFL_9
APFL_I
APFM_1

0
0
0
0
16
0
0
0
8
0
30
30
0
4
30
30
0
8
6
0
6
6
21
0
0
0
26
0
0
0
6
11
10
0
20
18
9
16
0
19
0
16
0
20
17

0
0
0
0
16
8
20
0
8
8
26
26
26
30
1
1
1
8
0
0
6
6
0
0
4
0
0
0
29
0
6
11
10
0
20
14
5
16
0
19
0
16
0
20
5

0
0
0
0
16
8
0
0
8
8
26
30
0
4
30
30
0
8
4
0
6
6
4
4
0
0
26
0
0
0
6
11
10
0
20
32
28
16
0
19
0
16
0
20
5

0
0
0
0
16
8
0
0
8
8
26
30
3
3
30
30
0
8
6
0
6
6
0
0
0
0
27
0
0
0
6
23
10
0
20
14
5
16
0
19
0
16
0
20
5

0
0
0
0
16
8
0
0
8
8
26
30
3
3
30
30
0
8
6
0
6
6
0
0
0
0
27
0
0
0
6
23
10
0
20
14
5
16
0
19
0
16
0
20
5
52

APFM_10
APFM_11
APFM_12
APFM_2
APFM_3
APFM_4
APFM_5
APFM_6
APFM_7
APFM_8
APFM_9
APFM_I
APFP_1
APFP_10
APFP_11
APFP_12
APFP_2
APFP_3
APFP_4
APFP_5
APFP_6
APFP_7
APFP_8
APFP_9
APFP_I
B10L
B10M
B10P
B11L
B11M
B11P
B12L
B12M
B12P
B1L
B1M
B1P
B2L
B2M
B2P
B3L
B3l
B3M
B3P
B4L

20
15
10
12
7
1
29
20
10
0
26
10
6
0
14
10
2
19
14
8
1
19
11
5
10
1
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
0
1
1

0
15
10
0
28
22
14
5
24
14
6
10
15
18
14
10
11
7
2
23
16
8
0
23
10
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1

20
15
10
0
12
6
29
20
10
0
26
10
8
0
14
10
4
0
14
8
1
19
11
5
10
1
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0,833333333
1
0
0

20
15
10
0
17
11
30
21
11
1
26
10
6
0
14
10
22
18
13
7
0
19
11
5
10
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1

20
15
10
0
17
11
30
21
11
1
26
10
6
0
14
10
22
18
13
7
0
19
11
5
10
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
1
0
1
53

B4M
B4P
B5L
B5M
B5P
B6L
B6M
B6P
B7L
B7M
B7P
B8L
B8M
B8P
B9L
B9M
B9P
CCL1
CCL10
CCL11
CCL12
CCL2
CCL3
CCL4
CCL5
CCL6
CCL7
CCL8
CCL9
CCM1
CCM10
CCM11
CCM12
CCM2
CCM3
CCM4
CCM5
CCM6
CCM7
CCM8
CCM9
CCP1
CCP10
CCP11
CCP12

0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
22
0
45
0
0
19
0
36
0
35
0
4
0
0
8
0
30
0
6
4
26
0
4
0
0
24
0

0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
22
0
45
0
0
19
0
36
0
35
0
0
19
0
8
0
51
0
0
4
0
0
0
3
0
6
0

0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
22
0
45
19
0
0
0
36
0
35
0
0
0
0
8
0
35
4
1
4
26
0
4
0
0
24
0

0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
22
0
45
0
0
19
0
36
0
35
0
0
0
0
8
0
40
4
0
0
27
0
3
0
0
24
0

0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
0
22
0
45
0
0
19
0
36
0
35
0
0
0
0
8
0
40
4
0
0
27
0
3
0
0
24
0
54

CCP2
CCP3
CCP4
CCP5
CCP6
CCP7
CCP8
CCP9
CUSTOL1
CUSTOL10
CUSTOL11
CUSTOL12
CUSTOL2
CUSTOL3
CUSTOL4
CUSTOL5
CUSTOL6
CUSTOL7
CUSTOL8
CUSTOL9
CUSTOM1
CUSTOM10
CUSTOM11
CUSTOM12
CUSTOM2
CUSTOM3
CUSTOM4
CUSTOM5
CUSTOM6
CUSTOM7
CUSTOM8
CUSTOM9
CUSTOP1
CUSTOP10
CUSTOP11
CUSTOP12
CUSTOP2
CUSTOP3
CUSTOP4
CUSTOP5
CUSTOP6
CUSTOP7
CUSTOP8
CUSTOP9
PSL1

15
0
0
0
26
0
0
0
49
3660
0
7341
214
27
3183
0
6027
0
5923
0
1095
60
45
1774
36
5661
33
1737
896
5546
30
1306
24
0
2628
36
1767
267
42
24
3357
317
33
15
0

0
0
4
23
0
0
29
0
49
3660
0
7341
166
19
3223
0
6027
0
5923
0
23
4124
245
1774
8
9992
92
68
877
363
43
19
483
54
648
36
33
21
490
3375
48
24
3393
359
0

0
0
15
0
26
0
0
0
49
3660
0
7341
3346
159
48
0
6027
0
5923
0
23
60
45
1774
8
6777
840
612
896
5546
30
1306
48
0
2628
36
16
4
2032
24
3357
317
33
15
0

14
0
0
0
27
0
0
0
193
3660
0
7341
46
19
3223
0
6027
0
5923
0
23
60
45
1774
8
7777
855
363
66
5760
33
1074
24
0
2628
36
1890
54
39
21
3483
327
33
15
12

14
0
0
0
27
0
0
0
193
3660
0
7341
46
19
3223
0
6027
0
5923
0
23
60
45
1774
8
7777
855
363
66
5760
33
1074
24
0
2628
36
1890
54
39
21
3483
327
33
15
12
55

PSL10
PSL10_EXTRA
PSL11
PSL11_EXTRA
PSL12
PSL12_EXTRA
PSL1_EXTRA
PSL2
PSL2_EXTRA
PSL3
PSL3_EXTRA
PSL4
PSL4_EXTRA
PSL5
PSL5_EXTRA
PSL6
PSL6_EXTRA
PSL7
PSL7_EXTRA
PSL8
PSL8_EXTRA
PSL9
PSL9_EXTRA
PSM1
PSM10
PSM10_EXTRA
PSM11
PSM11_EXTRA
PSM12
PSM12_EXTRA
PSM1_EXTRA
PSM2
PSM2_EXTRA
PSM3
PSM3_EXTRA
PSM4
PSM4_EXTRA
PSM5
PSM5_EXTRA
PSM6
PSM6_EXTRA
PSM7
PSM7_EXTRA
PSM8
PSM8_EXTRA

22
0
0
0
29
0
0
16
0
0
0
19
0
0
0
30
6
0
0
30
5
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
30
6
0
0
0
0
0
0

22
0
0
0
29
0
0
12
0
0
0
23
0
0
0
30
6
0
0
30
5
0
0
0
0
0
20
0
0
0
0
0
0
30
3
0
0
0
0
0
0
29
0
0
0

22
0
0
0
29
0
0
30
0
0
5
0
0
0
0
30
6
0
0
30
5
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
30
1
0
0
0
0
0
0

22
0
0
0
29
0
0
0
0
0
0
23
0
0
0
30
6
0
0
30
5
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
27
0
0
0
0
0
0
0

22
0
0
0
29
0
0
0
0
0
0
23
0
0
0
30
6
0
0
30
5
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
27
0
0
0
0
0
0
0
56

PSM9
PSM9_EXTRA
PSP1
PSP10
PSP10_EXTRA
PSP11
PSP11_EXTRA
PSP12
PSP12_EXTRA
PSP1_EXTRA
PSP2
PSP2_EXTRA
PSP3
PSP3_EXTRA
PSP4
PSP4_EXTRA
PSP5
PSP5_EXTRA
PSP6
PSP6_EXTRA
PSP7
PSP7_EXTRA
PSP8
PSP8_EXTRA
PSP9
PSP9_EXTRA
VSL1
VSL10
VSL11
VSL12
VSL2
VSL3
VSL4
VSL5
VSL6
VSL7
VSL8
VSL9
VSM1
VSM10
VSM11
VSM12
VSM2
VSM3
VSM4

30
4
0
0
0
18
0
0
0
0
0
0
21
0
0
0
0
0
0
0
26
0
0
0
0
0
9
12
10
9
9
9
12
16
17
19
19
16
5
6
5
5
5
5
6

0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
29
0
9
12
10
9
9
9
12
16
17
19
19
16
5
6
5
5
5
5
6

30
4
2
0
0
18
0
0
0
0
0
0
0
0
19
0
0
0
0
0
26
0
0
0
0
0
9
12
10
9
9
9
12
16
17
19
19
16
5
6
5
5
5
5
6

30
3
0
0
0
18
0
0
0
0
20
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
9
12
10
9
9
9
12
16
17
19
19
16
5
6
5
5
5
5
6

30
3
0
0
0
18
0
0
0
0
20
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
9
12
10
9
9
9
12
16
17
19
19
16
5
6
5
5
5
5
6
57

VSM5
VSM6
VSM7
VSM8
VSM9
VSP1
VSP10
VSP11
VSP12
VSP2
VSP3
VSP4
VSP5
VSP6
VSP7
VSP8
VSP9

8
9
10
10
8
4
5
4
4
4
4
5
6
7
8
8
6

8
9
10
10
8
4
5
4
4
4
4
5
6
7
8
8
6

8
9
10
10
8
4
5
4
4
4
4
5
6
7
8
8
6

8
9
10
10
8
4
5
4
4
4
4
5
6
7
8
8
6

8
9
10
10
8
4
5
4
4
4
4
5
6
7
8
8
6

V.4. Apresente o plano detalhado de produo, indicando, em redes separadas para cada
tipo de sumo, as quantidades a comprar, a produzir, a armazenar (nos armazns de matrias
primas e de produtos acabados) e a entregar em cada perodo.

Laranja
Quantidade a
comprar

Quantidade a
produzir
normal

extra

Quantidade a
armazenar de
concentrado

Quantidade
armazenar de
sumo

Quantidade a
entregar em
cada perodo

Janeiro

12

23

Fevereiro

14

Maro

Abril

19

23

16

12

Maio

16

Junho

36

30

19

17

Julho

19

Agosto

35

30

16

19

Setembro

16

Outubro

22

22

10

12

58

Novembro

10

Dezembro

45

29

16

20

Quantidade a
armazenar de
concentrado

Quantidade
armazenar de
sumo

Quantidade a
entregar em
cada perodo

Ma
Quantidade a
comprar

Quantidade a
produzir
normal

Extra

Janeiro

Fevereiro

Maro

40

22

26

17

Abril

30

11

Maio

27

30

Junho

21

Julho

27

30

11

10

Agosto

30

10

Setembro

30

26

Outubro

20

Novembro

15

Dezembro

10

Quantidade a
armazenar de
concentrado

Quantidade
armazenar de
sumo

Quantidade a
entregar em
cada perodo

Pera
Quantidade a
comprar

Quantidade a
produzir
normal

Extra

Janeiro

Fevereiro

14

20

22

59

Maro

18

Abril

13

Maio

Junho

27

27

Julho

27

19

Agosto

11

Setembro

Outubro

Novembro

24

18

14

Dezembro

10

V.5. Verifique que a soluo admissvel e que os custos esto corretos. Apresente evidncia
sumria do trabalho de validao do modelo.

Com este modelo podemos concluir que :


No ms de Janeiro s se produz sumo de laranja
No ms de Fevereiro s se produz sumo de pra
No ms de Maro s se produz sumo de maa
No ms de Abril s se produz sumo de laranja
No ms de Maio s se produz sumo de maa
No ms de Junho s se produz sumo de laranja
No ms de Julho s se produz sumo de pra
No ms de Agosto s se produz sumo de laranja
No ms de Setembro s se produz sumo de maa
No ms de Outubro s se produz sumo de laranja
No ms de Novembro s se produz sumo de pra
No ms de Dezembro s se produz sumo de laranja

Custo de concentrado:
Laranja=170CCL1+155CCL2+170CCL3+155CCL4+170CCL5+155CCL6+170CCL7+155CCL8+170CCL
9+155CCL10+170CCL11+155CCL12;
Ma=231CCM1+199CCM2+187CCM3+198CCM4+210CCM5+208CCM6+211CCM7+220CCM8+
217CCM9+216CCM10+221CCM11+217CCM12;

60

Pera=116CCP1+116CCP2+124CCP3+120CCP4+132CCP5+128CCP6+136CCP7+116CCP8+120CCP
9+108CCP10+100CCP11+116CCP12,
o que implica que:
Laranja: 155*19+155*36+155*35+155*22+155*45 = 24335
Ma: 187*40+198*4+211*27+217*3+217*8 = 16356
Pera: 116*14+128*27+100*24 = 7480

Custo total: 24335+16356+7480=48171

Custo de produo:
Laranja=10PSL1+10PSL2+10PSL3+10PSL4+10PSL5+10PSL6+15PSL6_EXTRA+10PSL7+12PSL8+18
PSL8_EXTRA+10PSL9+10PSL10+10PSL11+10PSL12;
Ma=10PSM1+10PSM2+10PSM3+10PSM4+10PSM5+10PSM6+10PSM7+12PSM8+10PSM9+15
PSM9_EXTRA+10PSM10+10PSM11+10PSM12;
Pera=10PSP1+10PSP2+10PSP3+10PSP4+10PSP5+10PSP6+10PSP7+10PSP8+10PSP9+10PSP10+1
0PSP11+10PSP12, o que implica que:
Laranjas: 12*10+23*10+30*10+6*15+30*12+5*18+22*10+29*10 = 1700
Mas : 22*10+27*10+30*10+15*3 = 835
Peras: 20*10+27*10+18*10 = 650
Custo total: 1700+835+650 = 3185

Custo de armazenamento:

Concentrado
Laranjas:4+4+4+16 = 28
Mas: 8+8+26+30+3+3+30+30+8 = 146
Peras: 6+27+6+6 = 45
Custo total: 28+146+45 = 219

Sumo
Laranja: 23*3+14*3+5*3+16*3+19*3+16*3+10*3+20*3 = 369
Ma: 5*3+17*3+11*3+30*3+21*3+11*3+1*3+26*3+20*3+15*3+10*3 = 501
Pera: 6*3+22*3+18*3+13*3+7*3+19*3+11*3+5*3+14*3+10*3 = 375
Custo total: 369+501+375 = 1245

Custo total:219+1245 = 1464

Portanto: 48171+3185+1464=52820 c.q.d.

61

Concluso
Este trabalho permitiu-nos analisar diferentes tipos de cenrios, que nos permitiram
saber as quantidades a comprar, a produzir e a armazenar de cada matria prima, em cada
perodo.
No primeiro cenrio, correspondente parte I, obtivemos um custo total de 52105
U.M., fizemos um modelo que respeitava as condies iniciais do enunciado.
No segundo cenrio, correspondente parte II, obtivemos um custo total de 52182
U.M., neste modelo houve uma paragem de 15 dias, o que fez com que a capacidade de
produo fosse reduzida a metade, e para alm disso a paragem poderia acontecer ou no ms
de maro ou setembro, sendo que a soluo do ms de setembro era impossvel, pois a
produo de sumos em stock dos meses anteriores no era suficiente para cobrir as vendas
dos meses seguintes.
No terceiro cenrio, correspondente parte III, obtivemos um custo total de 52376
U.M. , neste modelo a paragem foi durante um ms, podendo ser tambm ou no ms de
maro ou no ms de setembro, aqui tambm no houve soluo do ms de setembro.
No quarto cenrio, correspondente parte IV, obtivemos um custo total para o ms de
maro de 52334 U.M., nesta parte poderia haver uma produo extraordinria de mais 6 U.E.
por perodo, e ainda um aumento do custo de produo de 50%. E para o ms de setembro
obtivemos um custo total de 52284 U.M., sujeito tambm s mesmas restries do anterior.
No quinto cenrio, correspondente parte V, obtivemos um custo total de 52820
U.M., neste cenrio o objetivo era a produo de apenas um tipo de sumo em cada ms.
Portanto, para concluir o cenrio que encarga menores custos empresa o primeiro.

62

Potrebbero piacerti anche