relatório do trabalho 1 mdio

62
1 RELATÓRIO DO TRABALHO I Autores: Célia Figueiredo [email protected] Diana Oliveira [email protected] Hélder Machado [email protected] Nelson Carvalho [email protected]

Upload: celia-figueiredo

Post on 06-Dec-2015

221 views

Category:

Documents


0 download

DESCRIPTION

Trabalho realizado no âmbito da disciplida de MDIO, sobre gestão de stock. feito no lpsolver.

TRANSCRIPT

Page 1: Relatório Do Trabalho 1 Mdio

1

RELATÓRIO DO TRABALHO I

Autores: Célia Figueiredo [email protected]

Diana Oliveira [email protected]

Hélder Machado [email protected]

Nelson Carvalho [email protected]

Page 2: Relatório Do Trabalho 1 Mdio

2

Índice

Introdução ........................................................... 3

PARTE I ................................................................ 4

Parte II ............................................................... 22

Parte III .............................................................. 26

Parte IV ............................................................. 31

Parte V .............................................................. 42

Conclusão .......................................................... 62

Page 3: Relatório Do Trabalho 1 Mdio

3

Introdução

Este documento pretende descrever a abordagem ao problema apresentado no âmbito da disciplina de Métodos Determinísticos de Investigação Operacional, disciplina constituinte do curso Licenciatura em Engenharia Informática.

O problema consiste numa empresa que produz sumos de frutas, a produção consiste em misturar os concentrados de fruta, água, açucar e encher os pacotes de sumo na única linha de engarrafamento. E o tempo de produção de um dado sumo corresponde ao tempo de engarrafamento, além disso existem dois tipos de armazéns, o de matérias primas, onde são 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 período e de cada tipo de sumo, com o objetivo de gastar o mínimo possível.

Page 4: Relatório Do Trabalho 1 Mdio

4

PARTE I I.1.Formule este problema como um modelo de programação linear. Explique com detalhe o significado das restrições e da função objetivo do modelo. Teça todas as considerações que considere necessárias.

Função Objetivo

A função objetivo é uma função de minimização de custos que determina as quantidades a comprar, a produzir e a armazenar, em cada período 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 produção de sumo de cada tipo de cada mês.

Para nos facilitar na compreensão decidimos dar nomes às variáveis, ficando:

AC[X]_[Y] = Armazém Concentrado [X] no mês [Y]

APF[X]_[Y] = Arm. Prod. Final [X] no mês [Y]

CC[X]_[Y] = Compra Concentrado [X] no mês [Y]

PS[X][Y] = Produção de Sumo [X] no mês [Y]

VS[X][Y] = Venda de Sumo [X] no mês [Y]

Em que o [X] é sustituido por [L]aranjas, [M]açãs e [P]eras e o [Y] pelos meses de 1...12, correspondendo o 1 a Janeiro e o 12 a Dezembro, conforme o necessário.

De modo a que a função objetivo ficasse menos confusa decidimos fazer uma variável que define o custo de cada concentrado em cada mês, ou seja, por exemplo para o custo deprodução de sumo de laranjas no mês de Janeiro ,CUSTOL1 = 10PSL1 + ACL_1 + 3APFL_1 + 170CCL1, é o custo de produção*produção 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 restrições:

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;

Page 5: Relatório Do Trabalho 1 Mdio

5

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 então a função 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;

Restrições

É-nos dito que a capacidade máxima do armazém de tambores de concentrado de sumo é de 30 U.E, e que a capacidade máxima de armazenagem dos pacotes de sumo é de 40U.E, portanto o armazém de concentrado de laranjas (ACL_x) mais o armazém de concentrado de maçãs (ACM_x) mais o armazém de concentrado de pêras (ACP_x) em cada mês (x=1,...,12) tem de ser menor ou igual a 30U.E. Assim como o armazém de produto final de laranjas (APFL_x) mais o armazém de produto final de maçãs (APFM_x) mais o armazém de

Page 6: Relatório Do Trabalho 1 Mdio

6

produto final de pêras (APFP_x) em cada mês (x=1,…,12) tem de ser menor ou igual a 40U.E., desta dedução resultam as seguintes restrições:

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 mês de dezembro as U.E. (unidades equivalentes) em ambos os armazéns sejam os mesmos que no início do ano, os valores de armazém de concentrado de laranjas, maçãs e pêras (ACL_12, ACM_12, ACP_12) e os valores de armazém de produto final de laranjas, maçãs e pêras (APFL_12, APFM_12, APFP_12) para o mês 12 deverão ser iguais aos valores iniciais de concentrado de laranjas, maçãs e pêras (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;

Page 7: Relatório Do Trabalho 1 Mdio

7

APFP_12 = APFP_I;

Para os restantes meses pretende-se que o fluxos (entrada e saída) se mantenham respeitando as restrições. Para isso usamos o seguinte algoritmo:

Para a quantidade do armazém de concentrado entram a compra do mês i e a quantidade que ficou em armazém no mês i – 1 e sai a quantidade produzida (que passa para o armazém de produtos finais).

Para a quantidade do armazém de produtos finais usamos um algoritmo semelhante em que neste caso entram a quantidade produzida (vinda do armazém de concentrados) e a quantidade que ficou em armazém no mês i -1. A quantidade de produto final que sai do armazém é 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 máxima de produção normal é de 30 U.E. por período, isto é, a produção dos três tipos de sumo não pode exceder as 30 U.E., então temos de considerar também a seguinte restrição:

PSL1+PSM1+PSP1 <= 30;

PSL2+PSM2+PSP2 <= 30;

PSL3+PSM3+PSP3 <= 30;

PSL4+PSM4+PSP4 <= 30;

Page 8: Relatório Do Trabalho 1 Mdio

8

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;

Page 9: Relatório Do Trabalho 1 Mdio

9

VSP9 = 6; VSL10 = 12; VSM10 = 6; VSP10 = 5; VSL11 = 10; VSM11 = 5; VSP11 = 4; VSL12 = 9; VSM12 = 5; VSP12 = 4;

//VALORES INICIAIS DOS ARMAZÉNS

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; // MARÇO 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;

Page 10: Relatório Do Trabalho 1 Mdio

10

// 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;

Page 11: Relatório Do Trabalho 1 Mdio

11

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;

// RESTRIÇÕES QUANTIDADES ARMAZÉNS 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;

//RESTRIÇÕES DE PRODUÇÃO

PSL1+PSM1+PSP1 <= 30;

Page 12: Relatório Do Trabalho 1 Mdio

12

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 MÊS 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;

Page 13: Relatório Do Trabalho 1 Mdio

13

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)

Variables result

52105

ACL_1 16

ACL_10 10

ACL_11 0

ACL_12 16

ACL_2 0

ACL_3 0

ACL_4 4

ACL_5 0

ACL_6 19

ACL_7 0

ACL_8 13

ACL_9 0

ACL_I 16

ACM_1 8

ACM_10 2

ACM_11 0

ACM_12 8

ACM_2 0

ACM_3 26

ACM_4 26

ACM_5 9

ACM_6 9

ACM_7 11

ACM_8 11

ACM_9 0

ACM_I 8

ACP_1 6

ACP_10 0

ACP_11 6

ACP_12 6

ACP_2 6

ACP_3 4

ACP_4 0

ACP_5 0

ACP_6 2

ACP_7 0

ACP_8 6

ACP_9 0

ACP_I 6

APFL_1 11

APFL_10 0

APFL_11 0

APFL_12 20

APFL_2 18

APFL_3 9

APFL_4 12

APFL_5 0

APFL_6 0

APFL_7 0

APFL_8 3

APFL_9 0

APFL_I 20

APFM_1 5

APFM_10 17

APFM_11 14

APFM_12 10

APFM_2 8

APFM_3 31

APFM_4 25

APFM_5 34

APFM_6 25

APFM_7 17

APFM_8 7

APFM_9 10

APFM_I 10

APFP_1 6

APFP_10 0

APFP_11 14

APFP_12 10

APFP_2 2

APFP_3 0

APFP_4 3

APFP_5 0

APFP_6 6

APFP_7 0

APFP_8 0

Page 14: Relatório Do Trabalho 1 Mdio

14

APFP_9 0

APFP_I 10

CCL1 0

CCL10 22

CCL11 0

CCL12 45

CCL2 0

CCL3 0

CCL4 19

CCL5 0

CCL6 36

CCL7 0

CCL8 35

CCL9 0

CCM1 0

CCM10 15

CCM11 0

CCM12 9

CCM2 0

CCM3 54

CCM4 0

CCM5 0

CCM6 0

CCM7 4

CCM8 0

CCM9 0

CCP1 0

CCP10 5

CCP11 24

CCP12 0

CCP2 0

CCP3 0

CCP4 4

CCP5 3

CCP6 15

CCP7 0

CCP8 14

CCP9 0

CUSTOL1 49

CUSTOL10 3540

CUSTOL11 100

CUSTOL12 7341

CUSTOL2 214

CUSTOL3 27

CUSTOL4 3135

CUSTOL5 40

CUSTOL6 5769

CUSTOL7 190

CUSTOL8 5711

CUSTOL9 130

CUSTOM1 23

CUSTOM10 3423

CUSTOM11 62

CUSTOM12 2001

CUSTOM2 104

CUSTOM3 10497

CUSTOM4 101

CUSTOM5 281

CUSTOM6 84

CUSTOM7 926

CUSTOM8 32

CUSTOM9 140

CUSTOP1 24

CUSTOP10 590

CUSTOP11 2628

CUSTOP12 36

CUSTOP2 12

CUSTOP3 24

CUSTOP4 569

CUSTOP5 426

CUSTOP6 2070

CUSTOP7 20

CUSTOP8 1726

CUSTOP9 60

PSL1 0

PSL10 12

PSL11 10

PSL12 29

PSL2 16

PSL3 0

PSL4 15

PSL5 4

PSL6 17

PSL7 19

PSL8 22

PSL9 13

PSM1 0

PSM10 13

PSM11 2

PSM12 1

PSM2 8

PSM3 28

PSM4 0

PSM5 17

PSM6 0

PSM7 2

PSM8 0

PSM9 11

PSP1 0

PSP10 5

PSP11 18

PSP12 0

PSP2 0

PSP3 2

PSP4 8

PSP5 3

PSP6 13

PSP7 2

PSP8 8

PSP9 6

VSL1 9

VSL10 12

VSL11 10

VSL12 9

VSL2 9

VSL3 9

VSL4 12

Page 15: Relatório Do Trabalho 1 Mdio

15

VSL5 16

VSL6 17

VSL7 19

VSL8 19

VSL9 16

VSM1 5

VSM10 6

VSM11 5

VSM12 5

VSM2 5

VSM3 5

VSM4 6

VSM5 8

VSM6 9

VSM7 10

VSM8 10

VSM9 8

VSP1 4

VSP10 5

VSP11 4

VSP12 4

VSP2 4

VSP3 4

VSP4 6

VSP5 6

VSP6 6

VSP7 6

VSP8 6

VSP9 6

I.4. Apresente o plano detalhado de produção, indicando, em redes separadas para cada

tipo de sumo, as quantidades a comprar, a produzir, a armazenar (nos armazéns de matérias primas e de produtos acabados) e a entregar em cada período.

Laranja

Quantidade a comprar

Quantidade a produzir

Quantidade a armazenar de concentrado

Quantidade armazenar de

sumo

Quantidade a entregar em cada período

Janeiro 0 0 16 11 9

Fevereiro 0 16 0 18 9

Março 0 0 0 9 9

Abril 19 15 4 12 12

Maio 0 4 0 0 16

Junho 36 17 19 0 17

Julho 0 19 0 0 19

Agosto 35 22 13 3 19

Setembro 0 13 0 0 16

Outubro 22 12 10 0 12

Novembro 0 10 0 0 10

Dezembro 45 29 16 20 9

Page 16: Relatório Do Trabalho 1 Mdio

16

Maçã

Quantidade a comprar

Quantidade a produzir

Quantidade a armazenar de concentrado

Quantidade armazenar de

sumo

Quantidade a entregar em cada período

Janeiro 0 0 8 5 5

Fevereiro 0 8 0 8 5

Março 54 28 26 31 5

Abril 0 0 26 25 6

Maio 0 17 9 34 8

Junho 0 0 9 25 9

Julho 4 2 11 17 10

Agosto 0 0 11 7 10

Setembro 0 11 0 10 8

Outubro 15 13 2 17 6

Novembro 0 2 0 14 5

Dezembro 9 1 8 10 5

Pêra

Quantidade a comprar

Quantidade a produzir

Quantidade a armazenar de concentrado

Quantidade armazenar de

sumo

Quantidade a entregar em cada período

Janeiro 0 0 6 6 4

Fevereiro 0 0 6 2 4

Março 0 2 4 0 4

Abril 4 8 0 3 5

Maio 3 3 0 0 6

Junho 15 13 2 6 7

Julho 0 2 0 0 8

Agosto 14 8 6 0 8

Setembro 0 6 0 0 6

Page 17: Relatório Do Trabalho 1 Mdio

17

Outubro 5 5 0 0 5

Novembro 24 18 6 14 4

Dezembro 0 0 6 10 4

I.5. (Para validar o modelo,) mostre que a solução é admissível, verificando que:

i) Há conservação 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 armazém num determinado mês é o mesmo que o que se encontrava no mês anterior mais o que se comprou menos o custo de produção. Por isso calculamos os valores do armazenamento de concentrado e de produto final para cada mês e confirmamos com as tabelas acima (I.4.).

//VALORES INICIAIS DOS ARMAZÉNS

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

// MARÇO

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

Page 18: Relatório Do Trabalho 1 Mdio

18

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

Page 19: Relatório Do Trabalho 1 Mdio

19

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 restrições de capacidade são respeitadas

RESTRIÇÕES QUANTIDADES ARMAZÉNS:

Page 20: Relatório Do Trabalho 1 Mdio

20

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 ✓

RESTRIÇÕES DE PRODUÇÃO:

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 ✓

Page 21: Relatório Do Trabalho 1 Mdio

21

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 solução ótima está correto,

calculando separadamente os custos de compra de concentrado, de produção e armazenamento, cuja soma deverá ser igual ao valor da solução ótima.

Custos de compra de concentrado: CC (quantidade que vou comprar)*preço

● Laranjas: 19*155+36*155+35*155+22*155+45*155 =24335 ● Maças: 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 produção de sumo: PS (quantidade de sumos que vou produzir)*preço

● Laranjas: 16*10+15*10+4*10+17*10+19*10+22*12+13*10+12*10+10*10+29*10=1614

● Maçãs: 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 ● Maçãs: 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

Page 22: Relatório Do Trabalho 1 Mdio

22

● Maçãs: 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 é necessário proceder a uma operação de manutenção, que força uma paragem da linha de engarrafamento durante 15 dias, e a redução da capacidade de produção a metade. É possível agendar esta operação para o mês de Março ou Setembro.

II.1.Indique e explique o significado das restrições a adicionar ao modelo da Parte I para fazer uma comparação dos dois cenários. Teça todas as considerações que considere necessárias.

• Mês de Março:

Como houve uma redução de capacidade de produção para metade, neste caso no mês de Março, a alteração ocorrerá apenas na linha referente ao mês 3, as restantes ficam iguais ao modelo da parte I.

RESTRIÇÕES DE PRODUÇÃO:

(...)

PSL3+PSM3+PSP3 <= 15;

(...)

• Mês de Setembro:

Para o mês de Setembro o procedimento é o mesmo.

RESTRIÇÕES DE PRODUÇÃO:

(...)

PSL9+PSM9+PSP9 <= 15;

(...)

Neste mês não haverá solução, pois o que se produziu nos meses anteriores não foi o suficiente para cobrir as encomendas, como podemos verificar:

Page 23: Relatório Do Trabalho 1 Mdio

23

Quantidade se stock existente até ao mês 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, não será possível cobrir todas as encomendas.

II.2.Efetue uma comparação dos dois cenários. Qual das duas opções tem menores custos?

A opção em que não se produz no mês de Março tem um custo de 52182 U.M., na outra temos uma solução impossível, isto porque talvez como não existe produção no mês de setembro, a produção dos sumos e de stock não será suficiente para cobrir as vendas nos próximos meses.

Como o problema no mês de setembro é impossível, o mês de março é o melhor cenário.

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

• Mês de Março

O ficheiro input é igual ao da Parte I, com exceção da linha relativa do mês de março que fica PSL3+PSM3+PSP3 <= 15, pois como referido no enunciado do trabalho, a redução da capacidade de produção no mês de março passa a metade, ou seja de 30 para 15 U.E.

//RESTRIÇÕES DE PRODUÇÃO

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;

• Mês de Setembro:

O ficheiro input é igual ao da Parte I, com exceção da linha relativa do mês de setembro que fica PSL9+PSM9+PSP9 <= 15, pois como referido no enunciado do trabalho, a

Page 24: Relatório Do Trabalho 1 Mdio

24

redução da capacidade de produção no mês de setembro passa a metade, ou seja de 30 para 15 U.E.

//RESTRIÇÕES DE PRODUÇÃO

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 mês de Setembro não tem solução só existe output do mês de março.

• Mês de Março:

Variables result

52182

ACL_1 16

ACL_10 0

ACL_11 0

ACL_12 16

ACL_2 0

ACL_3 0

ACL_4 0

ACL_5 0

ACL_6 19

ACL_7 0

ACL_8 13

ACL_9 0

ACL_I 16

ACM_1 8

ACM_10 12

ACM_11 0

ACM_12 8

ACM_2 0

ACM_3 30

ACM_4 28

ACM_5 9

ACM_6 9

ACM_7 11

ACM_8 11

ACM_9 0

ACM_I 8

ACP_1 6

ACP_10 0

ACP_11 6

ACP_12 6

ACP_2 0

ACP_3 0

ACP_4 2

ACP_5 2

ACP_6 2

ACP_7 0

ACP_8 6

ACP_9 0

ACP_I 6

APFL_1 11

APFL_10 10

APFL_11 0

APFL_12 20

APFL_2 18

APFL_3 9

APFL_4 16

APFL_5 0

APFL_6 0

APFL_7 0

Page 25: Relatório Do Trabalho 1 Mdio

25

APFL_8 3

APFL_9 0

APFL_I 20

APFM_1 5

APFM_10 7

APFM_11 14

APFM_12 10

APFM_2 8

APFM_3 18

APFM_4 16

APFM_5 27

APFM_6 18

APFM_7 17

APFM_8 7

APFM_9 10

APFM_I 10

APFP_1 6

APFP_10 0

APFP_11 14

APFP_12 10

APFP_2 8

APFP_3 4

APFP_4 6

APFP_5 0

APFP_6 6

APFP_7 0

APFP_8 0

APFP_9 0

APFP_I 10

CCL1 0

CCL10 22

CCL11 0

CCL12 45

CCL2 0

CCL3 0

CCL4 19

CCL5 0

CCL6 36

CCL7 0

CCL8 35

CCL9 0

CCM1 0

CCM10 15

CCM11 0

CCM12 9

CCM2 0

CCM3 45

CCM4 2

CCM5 0

CCM6 0

CCM7 11

CCM8 0

CCM9 0

CCP1 0

CCP10 5

CCP11 24

CCP12 0

CCP2 0

CCP3 0

CCP4 9

CCP5 0

CCP6 13

CCP7 0

CCP8 14

CCP9 0

CUSTOL1 49

CUSTOL10 3660

CUSTOL11 0

CUSTOL12 7341

CUSTOL2 214

CUSTOL3 27

CUSTOL4 3183

CUSTOL5 0

CUSTOL6 5769

CUSTOL7 190

CUSTOL8 5711

CUSTOL9 130

CUSTOM1 23

CUSTOM10 3303

CUSTOM11 162

CUSTOM12 2001

CUSTOM2 104

CUSTOM3 8649

CUSTOM4 512

CUSTOM5 280

CUSTOM6 63

CUSTOM7 2473

CUSTOM8 32

CUSTOM9 140

CUSTOP1 24

CUSTOP10 590

CUSTOP11 2628

CUSTOP12 36

CUSTOP2 84

CUSTOP3 12

CUSTOP4 1170

CUSTOP5 2

CUSTOP6 1814

CUSTOP7 20

CUSTOP8 1726

CUSTOP9 60

PSL1 0

PSL10 22

PSL11 0

PSL12 29

PSL2 16

PSL3 0

PSL4 19

PSL5 0

PSL6 17

PSL7 19

PSL8 22

PSL9 13

PSM1 0

PSM10 3

PSM11 12

PSM12 1

Page 26: Relatório Do Trabalho 1 Mdio

26

PSM2 8

PSM3 15

PSM4 4

PSM5 19

PSM6 0

PSM7 9

PSM8 0

PSM9 11

PSP1 0

PSP10 5

PSP11 18

PSP12 0

PSP2 6

PSP3 0

PSP4 7

PSP5 0

PSP6 13

PSP7 2

PSP8 8

PSP9 6

VSL1 9

VSL10 12

VSL11 10

VSL12 9

VSL2 9

VSL3 9

VSL4 12

VSL5 16

VSL6 17

VSL7 19

VSL8 19

VSL9 16

VSM1 5

VSM10 6

VSM11 5

VSM12 5

VSM2 5

VSM3 5

VSM4 6

VSM5 8

VSM6 9

VSM7 10

VSM8 10

VSM9 8

VSP1 4

VSP10 5

VSP11 4

VSP12 4

VSP2 4

VSP3 4

VSP4 5

VSP5 6

VSP6 7

VSP7 8

VSP8 8

VSP9 6

Parte III

E se a operação de manutenção da linha de engarrafamento forçar uma paragem da linha durante um mês, sendo possível agendar esta operação para o mês de março ou de setembro?

III.1. Indique as restrições a adicionar ao modelo da Parte I e efetue uma comparação dos dois cenários. Teça todas as considerações que considere necessárias.

• Mês de março:

No mês de Março, devido à operação de manutenção da linha de engarrafamento, não haverá produção, isto significa que a produção dos três tipos de sumo neste mês será igual a zero, ou seja igualámos a restrição a zero: PSL3+PSM3+PSP3 = 0

//RESTRIÇÕES DE PRODUÇÃO

PSL1+PSM1+PSP1 <= 30;

PSL2+PSM2+PSP2 <= 30;

PSL3+PSM3+PSP3 = 0;

PSL4+PSM4+PSP4 <= 30;

Page 27: Relatório Do Trabalho 1 Mdio

27

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;

• Mês de setembro:

Neste mês acontece o mesmo, pois a operação é forçada a parar, sendo que não haverá produção, isto significa que a produção dos três tipos de sumo neste mês será igual a zero, ou seja igualámos a restrição a zero: PSL9+PSM9+PSP9 = 0.

//RESTRIÇÕES DE PRODUÇÃO

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 mês de setembro é impossível devido à produção de sumos em stock não ser suficiente para cobrir as vendas no meses seguintes, como já vimos na parte II, o mês de março é o melhor cenário.

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

• Mês de março:

O ficheiro input é igual ao da Parte I com exceção da restrição de produção do mês de Março (PSL3+PSM3+PSP3 = 0), pois como nos é dito a operação de manutenção da linha de engarrafamento força uma paragem durante este mês.

//RESTRIÇÕES DE PRODUÇÃO

Page 28: Relatório Do Trabalho 1 Mdio

28

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;

• Mês de Setembro:

O ficheiro input é igual ao da Parte I com exceção da restrição de produto do mês de Setembro (PSL9+PSM9+PSP9 = 0), pois como nos é dito a operação de manutenção da linha de engarrafamento força uma paragem durante este mês.

//RESTRIÇÕES DE PRODUÇÃO

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 mês de Setembro não tem solução só existe output do mês de Março.

• Mês de Março:

Variables result

52376 ACL_1 16

Page 29: Relatório Do Trabalho 1 Mdio

29

ACL_10 10

ACL_11 0

ACL_12 16

ACL_2 0

ACL_3 0

ACL_4 0

ACL_5 0

ACL_6 19

ACL_7 0

ACL_8 16

ACL_9 0

ACL_I 16

ACM_1 2

ACM_10 2

ACM_11 0

ACM_12 8

ACM_2 0

ACM_3 30

ACM_4 30

ACM_5 2

ACM_6 9

ACM_7 11

ACM_8 11

ACM_9 0

ACM_I 8

ACP_1 6

ACP_10 0

ACP_11 6

ACP_12 6

ACP_2 0

ACP_3 0

ACP_4 0

ACP_5 0

ACP_6 2

ACP_7 0

ACP_8 3

ACP_9 0

ACP_I 6

APFL_1 11

APFL_10 0

APFL_11 0

APFL_12 20

APFL_2 18

APFL_3 9

APFL_4 16

APFL_5 0

APFL_6 0

APFL_7 0

APFL_8 0

APFL_9 0

APFL_I 20

APFM_1 11

APFM_10 17

APFM_11 14

APFM_12 10

APFM_2 8

APFM_3 3

APFM_4 7

APFM_5 27

APFM_6 18

APFM_7 17

APFM_8 7

APFM_9 10

APFM_I 10

APFP_1 6

APFP_10 0

APFP_11 14

APFP_12 10

APFP_2 14

APFP_3 10

APFP_4 6

APFP_5 0

APFP_6 6

APFP_7 0

APFP_8 3

APFP_9 0

APFP_I 10

CCL1 0

CCL10 22

CCL11 0

CCL12 45

CCL2 0

CCL3 0

CCL4 19

CCL5 0

CCL6 36

CCL7 0

CCL8 35

CCL9 0

CCM1 0

CCM10 15

CCM11 0

CCM12 9

CCM2 0

CCM3 30

CCM4 10

CCM5 0

CCM6 7

CCM7 11

CCM8 0

CCM9 0

CCP1 0

CCP10 5

CCP11 24

CCP12 0

CCP2 6

CCP3 0

CCP4 1

CCP5 0

CCP6 15

CCP7 0

CCP8 14

CCP9 0

CUSTOL1 49

CUSTOL10 3540

CUSTOL11 100

CUSTOL12 7341

Page 30: Relatório Do Trabalho 1 Mdio

30

CUSTOL2 214

CUSTOL3 27

CUSTOL4 3183

CUSTOL5 0

CUSTOL6 5769

CUSTOL7 190

CUSTOL8 5669

CUSTOL9 160

CUSTOM1 95

CUSTOM10 3423

CUSTOM11 62

CUSTOM12 2001

CUSTOM2 44

CUSTOM3 5649

CUSTOM4 2131

CUSTOM5 363

CUSTOM6 1519

CUSTOM7 2473

CUSTOM8 32

CUSTOM9 140

CUSTOP1 24

CUSTOP10 590

CUSTOP11 2628

CUSTOP12 36

CUSTOP2 858

CUSTOP3 30

CUSTOP4 148

CUSTOP5 0

CUSTOP6 2070

CUSTOP7 20

CUSTOP8 1768

CUSTOP9 30

PSL1 0

PSL10 12

PSL11 10

PSL12 29

PSL2 16

PSL3 0

PSL4 19

PSL5 0

PSL6 17

PSL7 19

PSL8 19

PSL9 16

PSM1 6

PSM10 13

PSM11 2

PSM12 1

PSM2 2

PSM3 0

PSM4 10

PSM5 28

PSM6 0

PSM7 9

PSM8 0

PSM9 11

PSP1 0

PSP10 5

PSP11 18

PSP12 0

PSP2 12

PSP3 0

PSP4 1

PSP5 0

PSP6 13

PSP7 2

PSP8 11

PSP9 3

VSL1 9

VSL10 12

VSL11 10

VSL12 9

VSL2 9

VSL3 9

VSL4 12

VSL5 16

VSL6 17

VSL7 19

VSL8 19

VSL9 16

VSM1 5

VSM10 6

VSM11 5

VSM12 5

VSM2 5

VSM3 5

VSM4 6

VSM5 8

VSM6 9

VSM7 10

VSM8 10

VSM9 8

VSP1 4

VSP10 5

VSP11 4

VSP12 4

VSP2 4

VSP3 4

VSP4 5

VSP5 6

VSP6 7

VSP7 8

VSP8 8

VSP9 6

Page 31: Relatório Do Trabalho 1 Mdio

31

Parte IV Partindo do modelo da Parte I, considere que, para além da capacidade máxima de produção normal de 30 U.E. por período, pode haver produção extraordinária de mais de 6 U.E. por período, sendo o custo de produção [U.M./U.E.] acrescido de 50%.

IV.1. Mostre quais as modificações a efetuar no modelo de programação linear. Explique com detalhe as alterações das restrições e da função objetivo do modelo. Teça todas as considerações que considere necessárias.

Nesta parte, foi necessária a introdução de uma nova variável para representar uma produção extraordinária de mais 6 U.E. por período. A variável criada foi PS[x][y]_EXTRA, em que o [x] corresponde a [L]aranjas, [M]açãs ou [P]eras e o [y] aos meses de 1 a12 (Janeiro a Dezembro). Sendo assim, a produção extra de cada matéria num mês terá de ser menor ou igual a 6, exceto o mês de março que terá de ser igual a zero de acordo com a parte III.

//Produção 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 produção extra à quantidade de saída do armazém de concentrados e à quantidade de entrada do armazém de produtos finais, segue-se abaixo um exerto de como ficaram estas restrições.

// 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)

• Mês de março:

Page 32: Relatório Do Trabalho 1 Mdio

32

/* 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;

Page 33: Relatório Do Trabalho 1 Mdio

33

VSL12 = 9;

VSM12 = 5;

VSP12 = 4;

//VALORES INICIAIS DOS ARMAZÉNS

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;

// MARÇO

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;

Page 34: Relatório Do Trabalho 1 Mdio

34

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;

Page 35: Relatório Do Trabalho 1 Mdio

35

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;

//RESTRIÇÕES DE PRODUÇÃO

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;

//Produção 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;

Page 36: Relatório Do Trabalho 1 Mdio

36

PSL10_EXTRA + PSM10_EXTRA + PSP10_EXTRA <= 6;

PSL11_EXTRA + PSM11_EXTRA + PSP11_EXTRA <= 6;

PSL12_EXTRA + PSM12_EXTRA + PSP12_EXTRA <= 6;

//CUSTOS DE CADA MÊS

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;

Page 37: Relatório Do Trabalho 1 Mdio

37

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;

• Mês de setembro:

O ficheiro input para o mês de Setembro é semelhante ao de Março sendo alterado apenas nas linhas de restrições de produção e produção extra.

//RESTRIÇÕES DE PRODUÇÃO 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; //Produção 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;

Page 38: Relatório Do Trabalho 1 Mdio

38

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

• Mês de março:

Variables result

52334

ACL_1 16

ACL_10 3

ACL_11 0

ACL_12 16

ACL_2 0

ACL_3 0

ACL_4 0

ACL_5 0

ACL_6 19

ACL_7 0

ACL_8 16

ACL_9 0

ACL_I 16

ACM_1 8

ACM_10 13

ACM_11 0

ACM_12 8

ACM_2 0

ACM_3 30

ACM_4 29

ACM_5 9

ACM_6 9

ACM_7 8

ACM_8 8

ACM_9 0

ACM_I 8

ACP_1 0

ACP_10 0

ACP_11 6

ACP_12 6

ACP_2 0

ACP_3 0

ACP_4 1

ACP_5 0

ACP_6 2

ACP_7 0

ACP_8 6

ACP_9 0

ACP_I 6

APFL_1 11

APFL_10 7

APFL_11 0

APFL_12 20

APFL_2 18

APFL_3 9

APFL_4 16

APFL_5 0

APFL_6 0

APFL_7 0

APFL_8 0

APFL_9 0

APFL_I 20

APFM_1 5

APFM_10 0

APFM_11 8

APFM_12 10

APFM_2 8

APFM_3 3

APFM_4 8

APFM_5 20

APFM_6 11

APFM_7 10

APFM_8 0

APFM_9 0

APFM_I 10

APFP_1 12

APFP_10 0

APFP_11 14

APFP_12 10

APFP_2 14

APFP_3 10

APFP_4 5

APFP_5 0

APFP_6 6

APFP_7 0

APFP_8 0

APFP_9 0

APFP_I 10

CCL1 0

CCL10 22

CCL11 0

CCL12 45

CCL2 0

CCL3 0

CCL4 19

CCL5 0

CCL6 36

CCL7 0

CCL8 35

CCL9 0

CCM1 0

CCM10 19

CCM11 0

CCM12 15

CCM2 0

CCM3 30

CCM4 10

CCM5 0

CCM6 0

CCM7 8

CCM8 0

CCM9 0

CCP1 0

Page 39: Relatório Do Trabalho 1 Mdio

39

CCP10 5

CCP11 24

CCP12 0

CCP2 6

CCP3 0

CCP4 1

CCP5 0

CCP6 15

CCP7 0

CCP8 14

CCP9 0

CUSTOL1 49

CUSTOL10 3624

CUSTOL11 30

CUSTOL12 7341

CUSTOL2 214

CUSTOL3 27

CUSTOL4 3183

CUSTOL5 0

CUSTOL6 5769

CUSTOL7 190

CUSTOL8 5669

CUSTOL9 160

CUSTOM1 23

CUSTOM10 4177

CUSTOM11 174

CUSTOM12 3393

CUSTOM2 104

CUSTOM3 5649

CUSTOM4 2143

CUSTOM5 269

CUSTOM6 42

CUSTOM7 1816

CUSTOM8 8

CUSTOM9 80

CUSTOP1 96

CUSTOP10 590

CUSTOP11 2628

CUSTOP12 36

CUSTOP2 798

CUSTOP3 30

CUSTOP4 136

CUSTOP5 10

CUSTOP6 2070

CUSTOP7 20

CUSTOP8 1726

CUSTOP9 60

PSL1 0

PSL10 19

PSL10_EXTRA 0

PSL11 3

PSL11_EXTRA 0

PSL12 29

PSL12_EXTRA 0

PSL1_EXTRA 0

PSL2 16

PSL2_EXTRA 0

PSL3 0

PSL3_EXTRA 0

PSL4 19

PSL4_EXTRA 0

PSL5 0

PSL5_EXTRA 0

PSL6 17

PSL6_EXTRA 0

PSL7 19

PSL7_EXTRA 0

PSL8 19

PSL8_EXTRA 0

PSL9 16

PSL9_EXTRA 0

PSM1 0

PSM10 6

PSM10_EXTRA 0

PSM11 9

PSM11_EXTRA 4

PSM12 1

PSM12_EXTRA 6

PSM1_EXTRA 0

PSM2 8

PSM2_EXTRA 0

PSM3 0

PSM3_EXTRA 0

PSM4 11

PSM4_EXTRA 0

PSM5 20

PSM5_EXTRA 0

PSM6 0

PSM6_EXTRA 0

PSM7 9

PSM7_EXTRA 0

PSM8 0

PSM8_EXTRA 0

PSM9 8

PSM9_EXTRA 0

PSP1 6

PSP10 5

PSP10_EXTRA 0

PSP11 18

PSP11_EXTRA 0

PSP12 0

PSP12_EXTRA 0

PSP1_EXTRA 0

PSP2 6

PSP2_EXTRA 0

PSP3 0

PSP3_EXTRA 0

PSP4 0

PSP4_EXTRA 0

PSP5 1

PSP5_EXTRA 0

PSP6 13

PSP6_EXTRA 0

PSP7 2

PSP7_EXTRA 0

PSP8 8

PSP8_EXTRA 0

Page 40: Relatório Do Trabalho 1 Mdio

40

PSP9 6

PSP9_EXTRA 0

VSL1 9

VSL10 12

VSL11 10

VSL12 9

VSL2 9

VSL3 9

VSL4 12

VSL5 16

VSL6 17

VSL7 19

VSL8 19

VSL9 16

VSM1 5

VSM10 6

VSM11 5

VSM12 5

VSM2 5

VSM3 5

VSM4 6

VSM5 8

VSM6 9

VSM7 10

VSM8 10

VSM9 8

VSP1 4

VSP10 5

VSP11 4

VSP12 4

VSP2 4

VSP3 4

VSP4 5

VSP5 6

VSP6 7

VSP7 8

VSP8 8

VSP9 6

• Mês de setembro:

Variables result

52284

ACL_1 16

ACL_10 2

ACL_11 0

ACL_12 16

ACL_2 4

ACL_3 4

ACL_4 8

ACL_5 0

ACL_6 22

ACL_7 0

ACL_8 0

ACL_9 0

ACL_I 16

ACM_1 8

ACM_10 25

ACM_11 13

ACM_12 8

ACM_2 0

ACM_3 22

ACM_4 22

ACM_5 0

ACM_6 0

ACM_7 30

ACM_8 30

ACM_9 30

ACM_I 8

ACP_1 6

ACP_10 0

ACP_11 6

ACP_12 6

ACP_2 6

ACP_3 4

ACP_4 0

ACP_5 0

ACP_6 8

ACP_7 0

ACP_8 0

ACP_9 0

ACP_I 6

APFL_1 11

APFL_10 8

APFL_11 0

APFL_12 20

APFL_2 14

APFL_3 5

APFL_4 8

APFL_5 0

APFL_6 10

APFL_7 13

APFL_8 16

APFL_9 0

APFL_I 20

APFM_1 5

APFM_10 1

APFM_11 8

APFM_12 10

APFM_2 8

APFM_3 31

APFM_4 25

APFM_5 39

APFM_6 30

APFM_7 20

APFM_8 10

APFM_9 2

Page 41: Relatório Do Trabalho 1 Mdio

41

APFM_I 10

APFP_1 6

APFP_10 0

APFP_11 14

APFP_12 10

APFP_2 2

APFP_3 0

APFP_4 7

APFP_5 1

APFP_6 0

APFP_7 0

APFP_8 6

APFP_9 0

APFP_I 10

CCL1 0

CCL10 22

CCL11 0

CCL12 45

CCL2 0

CCL3 0

CCL4 19

CCL5 0

CCL6 49

CCL7 0

CCL8 22

CCL9 0

CCM1 0

CCM10 0

CCM11 0

CCM12 2

CCM2 0

CCM3 50

CCM4 0

CCM5 0

CCM6 0

CCM7 30

CCM8 0

CCM9 0

CCP1 0

CCP10 5

CCP11 24

CCP12 0

CCP2 0

CCP3 0

CCP4 8

CCP5 0

CCP6 14

CCP7 6,14E-13

CCP8 14

CCP9 0

CUSTOL1 49

CUSTOL10 3636

CUSTOL11 30

CUSTOL12 7341

CUSTOL2 166

CUSTOL3 19

CUSTOL4 3127

CUSTOL5 80

CUSTOL6 7932

CUSTOL7 259

CUSTOL8 3758

CUSTOL9 0

CUSTOM1 23

CUSTOM10 78

CUSTOM11 157

CUSTOM12 572

CUSTOM2 104

CUSTOM3 9745

CUSTOM4 97

CUSTOM5 337

CUSTOM6 90

CUSTOM7 6420

CUSTOM8 60

CUSTOM9 36

CUSTOP1 24

CUSTOP10 590

CUSTOP11 2628

CUSTOP12 36

CUSTOP2 12

CUSTOP3 24

CUSTOP4 1101

CUSTOP5 3

CUSTOP6 1860

CUSTOP7 80

CUSTOP8 1810

CUSTOP9 0

PSL1 0

PSL10 20

PSL10_EXTRA 0

PSL11 0

PSL11_EXTRA 2

PSL12 29

PSL12_EXTRA 0

PSL1_EXTRA 0

PSL2 12

PSL2_EXTRA 0

PSL3 0

PSL3_EXTRA 0

PSL4 15

PSL4_EXTRA 0

PSL5 8

PSL5_EXTRA 0

PSL6 24

PSL6_EXTRA 3

PSL7 22

PSL7_EXTRA 0

PSL8 16

PSL8_EXTRA 6

PSL9 0

PSL9_EXTRA 0

PSM1 0

PSM10 5

PSM10_EXTRA 0

PSM11 12

PSM11_EXTRA 0

PSM12 1

PSM12_EXTRA 6

Page 42: Relatório Do Trabalho 1 Mdio

42

PSM1_EXTRA 0

PSM2 8

PSM2_EXTRA 0

PSM3 28

PSM3_EXTRA 0

PSM4 0

PSM4_EXTRA 0

PSM5 22

PSM5_EXTRA 0

PSM6 0

PSM6_EXTRA 0

PSM7 0

PSM7_EXTRA 0

PSM8 0

PSM8_EXTRA 0

PSM9 0

PSM9_EXTRA 0

PSP1 0

PSP10 5

PSP10_EXTRA 0

PSP11 18

PSP11_EXTRA 0

PSP12 0

PSP12_EXTRA 0

PSP1_EXTRA 0

PSP2 0

PSP2_EXTRA 0

PSP3 2

PSP3_EXTRA 0

PSP4 12

PSP4_EXTRA 0

PSP5 0

PSP5_EXTRA 0

PSP6 6

PSP6_EXTRA 0

PSP7 8

PSP7_EXTRA 0

PSP8 14

PSP8_EXTRA 0

PSP9 0

PSP9_EXTRA 0

VSL1 9

VSL10 12

VSL11 10

VSL12 9

VSL2 9

VSL3 9

VSL4 12

VSL5 16

VSL6 17

VSL7 19

VSL8 19

VSL9 16

VSM1 5

VSM10 6

VSM11 5

VSM12 5

VSM2 5

VSM3 5

VSM4 6

VSM5 8

VSM6 9

VSM7 10

VSM8 10

VSM9 8

VSP1 4

VSP10 5

VSP11 4

VSP12 4

VSP2 4

VSP3 4

VSP4 5

VSP5 6

VSP6 7

VSP7 8

VSP8 8

VSP9 6

Parte V Partindo do modelo da Parte IV, considere agora que se pretende fazer um plano de produção em que, em cada período, apenas se produz um único tipo de sumo.

V.1. Formule este problema como um modelo de programação linear mista (i.e., usando variáveis binárias e variáveis reais). Explique detalhadamente o significado das novas restrições do modelo e da função objetivo do modelo. Teça todas as considerações que considere necessárias.

Para esta parte, uma vez que apenas se pretende produzir um único tipo de sumo por período (mês) foi necessário acrescentar variáveis binárias para a decisão de qual tipo de sumo produzir. Cada variável indica se devemos produzir (1) ou não (0) em cada mês. B[y][x], em que y representa o mês de 1 a 12 e x o tipo de sumo a produzir (L = laranja, M = maçã, P = pêra) foram os nomes escolhidos para as variáveis.

Page 43: Relatório Do Trabalho 1 Mdio

43

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 restrições para a produção foram alteradas. Nestas novas restrições é indicado que a produção do sumo x no mês y terá que ser menor ou igual a 30 U.E. multiplicado pela variável de decisão. Então, caso se decida não produzir o tipo de sumo x (Byx=0), a produção desse sumo no mês y será PSxy <= 30 * 0, ou seja, PSxy <= 0. Pelo contrário, se se decidir produzir o sumo x (Byx=1), então a produção desse sumo no mês y será PSxy <= 30 * 1, ou seja, PSxy <= 30. Limitamos então a produção dos tipos de sumo a 0 U.E. ou a 30 U.E.

Para a produção extra usamos também o mesmo método (e mesmas variáveis binárias) mas desta vez limitando a produção a 0 U.E. ou a 6 U.E.

//RESTRIÇÕES DE PRODUÇÃO

PSxy <= 30Byx;

//Produção extra

PSxy_EXTRA <= 6Byx;

Como queremos produzir apenas um único tipo de sumo por mês devemos limitar a soma das variáveis binárias de cada mês e de cada produto a 1 tendo assim apenas uma variável a 1 e as restantes a 0 (ou então todas a 0). Com isto temos a certeza que ele apenas produzirá um único tipo de sumo em cada período.

//RESTRIÇÕES VARIÁVEIS BINÁRIAS

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;

Page 44: Relatório Do Trabalho 1 Mdio

44

É considerado também que para este caso não haverá cortes de produção em nenhum mês.

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;

Page 45: Relatório Do Trabalho 1 Mdio

45

VSM10 = 6;

VSP10 = 5;

VSL11 = 10;

VSM11 = 5;

VSP11 = 4;

VSL12 = 9;

VSM12 = 5;

VSP12 = 4;

//VALORES INICIAIS DOS ARMAZÉNS

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; // MARÇO 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;

Page 46: Relatório Do Trabalho 1 Mdio

46

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

Page 47: Relatório Do Trabalho 1 Mdio

47

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; // RESTRIÇÕES QUANTIDADES ARMAZÉNS 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;

Page 48: Relatório Do Trabalho 1 Mdio

48

//RESTRIÇÕES DE PRODUÇÃO

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;

Page 49: Relatório Do Trabalho 1 Mdio

49

//RESTRIÇÕES VARIÁVEIS BINÁRIAS

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;

//Produção 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;

Page 50: Relatório Do Trabalho 1 Mdio

50

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 MÊS

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;

Page 51: Relatório Do Trabalho 1 Mdio

51

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 MILP Feasible MILP Better MILP Better2 MILP Better3 result

53153 53000 52980 52820 52820

ACL_1 16 16 16 4 4

ACL_10 0 0 0 0 0

ACL_11 0 0 0 0 0

ACL_12 16 16 16 16 16

ACL_2 0 4 5 4 4

ACL_3 0 4 0 4 4

ACL_4 0 0 0 0 0

ACL_5 0 0 0 0 0

Page 52: Relatório Do Trabalho 1 Mdio

52

ACL_6 0 0 0 0 0

ACL_7 0 0 0 0 0

ACL_8 0 0 0 0 0

ACL_9 0 0 0 0 0

ACL_I 16 16 16 16 16

ACM_1 0 8 8 8 8

ACM_10 0 20 0 0 0

ACM_11 0 0 0 0 0

ACM_12 8 8 8 8 8

ACM_2 0 8 8 8 8

ACM_3 30 26 26 26 26

ACM_4 30 26 30 30 30

ACM_5 0 26 0 3 3

ACM_6 4 30 4 3 3

ACM_7 30 1 30 30 30

ACM_8 30 1 30 30 30

ACM_9 0 1 0 0 0

ACM_I 8 8 8 8 8

ACP_1 6 0 4 6 6

ACP_10 0 0 0 0 0

ACP_11 6 6 6 6 6

ACP_12 6 6 6 6 6

ACP_2 21 0 4 0 0

ACP_3 0 0 4 0 0

ACP_4 0 4 0 0 0

ACP_5 0 0 0 0 0

ACP_6 26 0 26 27 27

ACP_7 0 0 0 0 0

ACP_8 0 29 0 0 0

ACP_9 0 0 0 0 0

ACP_I 6 6 6 6 6

APFL_1 11 11 11 23 23

APFL_10 10 10 10 10 10

APFL_11 0 0 0 0 0

APFL_12 20 20 20 20 20

APFL_2 18 14 32 14 14

APFL_3 9 5 28 5 5

APFL_4 16 16 16 16 16

APFL_5 0 0 0 0 0

APFL_6 19 19 19 19 19

APFL_7 0 0 0 0 0

APFL_8 16 16 16 16 16

APFL_9 0 0 0 0 0

APFL_I 20 20 20 20 20

APFM_1 17 5 5 5 5

Page 53: Relatório Do Trabalho 1 Mdio

53

APFM_10 20 0 20 20 20

APFM_11 15 15 15 15 15

APFM_12 10 10 10 10 10

APFM_2 12 0 0 0 0

APFM_3 7 28 12 17 17

APFM_4 1 22 6 11 11

APFM_5 29 14 29 30 30

APFM_6 20 5 20 21 21

APFM_7 10 24 10 11 11

APFM_8 0 14 0 1 1

APFM_9 26 6 26 26 26

APFM_I 10 10 10 10 10

APFP_1 6 15 8 6 6

APFP_10 0 18 0 0 0

APFP_11 14 14 14 14 14

APFP_12 10 10 10 10 10

APFP_2 2 11 4 22 22

APFP_3 19 7 0 18 18

APFP_4 14 2 14 13 13

APFP_5 8 23 8 7 7

APFP_6 1 16 1 0 0

APFP_7 19 8 19 19 19

APFP_8 11 0 11 11 11

APFP_9 5 23 5 5 5

APFP_I 10 10 10 10 10

B10L 1 1 1 1 1

B10M 0 0 0 0 0

B10P 0 0 0 0 0

B11L 0 0 0 0 0

B11M 0 1 0 0 0

B11P 1 0 1 1 1

B12L 1 1 1 1 1

B12M 0 0 0 0 0

B12P 0 0 0 0 0

B1L 0 0 0 1 1

B1M 1 0 0 0 0

B1P 0 1 1 0 0

B2L 1 1 1 0 0

B2M 0 0 0 0 0

B2P 0 0 0 1 1

B3L 0 0 0 0 0

B3l 0 0 0,833333333 0 0

B3M 0 1 1 1 1

B3P 1 0 0 0 0

B4L 1 1 0 1 1

Page 54: Relatório Do Trabalho 1 Mdio

54

B4M 0 0 0 0 0

B4P 0 0 1 0 0

B5L 0 0 0 0 0

B5M 1 0 1 1 1

B5P 0 1 0 0 0

B6L 1 1 1 1 1

B6M 0 0 0 0 0

B6P 0 0 0 0 0

B7L 0 0 0 0 0

B7M 0 1 0 0 0

B7P 1 0 1 1 1

B8L 1 1 1 1 1

B8M 0 0 0 0 0

B8P 0 0 0 0 0

B9L 0 0 0 0 0

B9M 1 0 1 1 1

B9P 0 1 0 0 0

CCL1 0 0 0 0 0

CCL10 22 22 22 22 22

CCL11 0 0 0 0 0

CCL12 45 45 45 45 45

CCL2 0 0 19 0 0

CCL3 0 0 0 0 0

CCL4 19 19 0 19 19

CCL5 0 0 0 0 0

CCL6 36 36 36 36 36

CCL7 0 0 0 0 0

CCL8 35 35 35 35 35

CCL9 0 0 0 0 0

CCM1 4 0 0 0 0

CCM10 0 19 0 0 0

CCM11 0 0 0 0 0

CCM12 8 8 8 8 8

CCM2 0 0 0 0 0

CCM3 30 51 35 40 40

CCM4 0 0 4 4 4

CCM5 6 0 1 0 0

CCM6 4 4 4 0 0

CCM7 26 0 26 27 27

CCM8 0 0 0 0 0

CCM9 4 0 4 3 3

CCP1 0 3 0 0 0

CCP10 0 0 0 0 0

CCP11 24 6 24 24 24

CCP12 0 0 0 0 0

Page 55: Relatório Do Trabalho 1 Mdio

55

CCP2 15 0 0 14 14

CCP3 0 0 0 0 0

CCP4 0 4 15 0 0

CCP5 0 23 0 0 0

CCP6 26 0 26 27 27

CCP7 0 0 0 0 0

CCP8 0 29 0 0 0

CCP9 0 0 0 0 0

CUSTOL1 49 49 49 193 193

CUSTOL10 3660 3660 3660 3660 3660

CUSTOL11 0 0 0 0 0

CUSTOL12 7341 7341 7341 7341 7341

CUSTOL2 214 166 3346 46 46

CUSTOL3 27 19 159 19 19

CUSTOL4 3183 3223 48 3223 3223

CUSTOL5 0 0 0 0 0

CUSTOL6 6027 6027 6027 6027 6027

CUSTOL7 0 0 0 0 0

CUSTOL8 5923 5923 5923 5923 5923

CUSTOL9 0 0 0 0 0

CUSTOM1 1095 23 23 23 23

CUSTOM10 60 4124 60 60 60

CUSTOM11 45 245 45 45 45

CUSTOM12 1774 1774 1774 1774 1774

CUSTOM2 36 8 8 8 8

CUSTOM3 5661 9992 6777 7777 7777

CUSTOM4 33 92 840 855 855

CUSTOM5 1737 68 612 363 363

CUSTOM6 896 877 896 66 66

CUSTOM7 5546 363 5546 5760 5760

CUSTOM8 30 43 30 33 33

CUSTOM9 1306 19 1306 1074 1074

CUSTOP1 24 483 48 24 24

CUSTOP10 0 54 0 0 0

CUSTOP11 2628 648 2628 2628 2628

CUSTOP12 36 36 36 36 36

CUSTOP2 1767 33 16 1890 1890

CUSTOP3 267 21 4 54 54

CUSTOP4 42 490 2032 39 39

CUSTOP5 24 3375 24 21 21

CUSTOP6 3357 48 3357 3483 3483

CUSTOP7 317 24 317 327 327

CUSTOP8 33 3393 33 33 33

CUSTOP9 15 359 15 15 15

PSL1 0 0 0 12 12

Page 56: Relatório Do Trabalho 1 Mdio

56

PSL10 22 22 22 22 22

PSL10_EXTRA 0 0 0 0 0

PSL11 0 0 0 0 0

PSL11_EXTRA 0 0 0 0 0

PSL12 29 29 29 29 29

PSL12_EXTRA 0 0 0 0 0

PSL1_EXTRA 0 0 0 0 0

PSL2 16 12 30 0 0

PSL2_EXTRA 0 0 0 0 0

PSL3 0 0 0 0 0

PSL3_EXTRA 0 0 5 0 0

PSL4 19 23 0 23 23

PSL4_EXTRA 0 0 0 0 0

PSL5 0 0 0 0 0

PSL5_EXTRA 0 0 0 0 0

PSL6 30 30 30 30 30

PSL6_EXTRA 6 6 6 6 6

PSL7 0 0 0 0 0

PSL7_EXTRA 0 0 0 0 0

PSL8 30 30 30 30 30

PSL8_EXTRA 5 5 5 5 5

PSL9 0 0 0 0 0

PSL9_EXTRA 0 0 0 0 0

PSM1 12 0 0 0 0

PSM10 0 0 0 0 0

PSM10_EXTRA 0 0 0 0 0

PSM11 0 20 0 0 0

PSM11_EXTRA 0 0 0 0 0

PSM12 0 0 0 0 0

PSM12_EXTRA 0 0 0 0 0

PSM1_EXTRA 0 0 0 0 0

PSM2 0 0 0 0 0

PSM2_EXTRA 0 0 0 0 0

PSM3 0 30 17 22 22

PSM3_EXTRA 0 3 0 0 0

PSM4 0 0 0 0 0

PSM4_EXTRA 0 0 0 0 0

PSM5 30 0 30 27 27

PSM5_EXTRA 6 0 1 0 0

PSM6 0 0 0 0 0

PSM6_EXTRA 0 0 0 0 0

PSM7 0 29 0 0 0

PSM7_EXTRA 0 0 0 0 0

PSM8 0 0 0 0 0

PSM8_EXTRA 0 0 0 0 0

Page 57: Relatório Do Trabalho 1 Mdio

57

PSM9 30 0 30 30 30

PSM9_EXTRA 4 0 4 3 3

PSP1 0 9 2 0 0

PSP10 0 0 0 0 0

PSP10_EXTRA 0 0 0 0 0

PSP11 18 0 18 18 18

PSP11_EXTRA 0 0 0 0 0

PSP12 0 0 0 0 0

PSP12_EXTRA 0 0 0 0 0

PSP1_EXTRA 0 0 0 0 0

PSP2 0 0 0 20 20

PSP2_EXTRA 0 0 0 0 0

PSP3 21 0 0 0 0

PSP3_EXTRA 0 0 0 0 0

PSP4 0 0 19 0 0

PSP4_EXTRA 0 0 0 0 0

PSP5 0 27 0 0 0

PSP5_EXTRA 0 0 0 0 0

PSP6 0 0 0 0 0

PSP6_EXTRA 0 0 0 0 0

PSP7 26 0 26 27 27

PSP7_EXTRA 0 0 0 0 0

PSP8 0 0 0 0 0

PSP8_EXTRA 0 0 0 0 0

PSP9 0 29 0 0 0

PSP9_EXTRA 0 0 0 0 0

VSL1 9 9 9 9 9

VSL10 12 12 12 12 12

VSL11 10 10 10 10 10

VSL12 9 9 9 9 9

VSL2 9 9 9 9 9

VSL3 9 9 9 9 9

VSL4 12 12 12 12 12

VSL5 16 16 16 16 16

VSL6 17 17 17 17 17

VSL7 19 19 19 19 19

VSL8 19 19 19 19 19

VSL9 16 16 16 16 16

VSM1 5 5 5 5 5

VSM10 6 6 6 6 6

VSM11 5 5 5 5 5

VSM12 5 5 5 5 5

VSM2 5 5 5 5 5

VSM3 5 5 5 5 5

VSM4 6 6 6 6 6

Page 58: Relatório Do Trabalho 1 Mdio

58

VSM5 8 8 8 8 8

VSM6 9 9 9 9 9

VSM7 10 10 10 10 10

VSM8 10 10 10 10 10

VSM9 8 8 8 8 8

VSP1 4 4 4 4 4

VSP10 5 5 5 5 5

VSP11 4 4 4 4 4

VSP12 4 4 4 4 4

VSP2 4 4 4 4 4

VSP3 4 4 4 4 4

VSP4 5 5 5 5 5

VSP5 6 6 6 6 6

VSP6 7 7 7 7 7

VSP7 8 8 8 8 8

VSP8 8 8 8 8 8

VSP9 6 6 6 6 6

V.4. Apresente o plano detalhado de produção, indicando, em redes separadas para cada tipo de sumo, as quantidades a comprar, a produzir, a armazenar (nos armazéns de matérias primas e de produtos acabados) e a entregar em cada período.

Laranja

Quantidade a comprar

Quantidade a produzir

Quantidade a armazenar de concentrado

Quantidade armazenar de

sumo

Quantidade a entregar em cada período

normal extra

Janeiro 0 12 0 4 23 9

Fevereiro 0 0 0 4 14 9

Março 0 0 0 4 5 9

Abril 19 23 0 0 16 12

Maio 0 0 0 0 0 16

Junho 36 30 6 0 19 17

Julho 0 0 0 0 0 19

Agosto 35 30 5 0 16 19

Setembro 0 0 0 0 0 16

Outubro 22 22 0 0 10 12

Page 59: Relatório Do Trabalho 1 Mdio

59

Novembro 0 0 0 0 0 10

Dezembro 45 29 0 16 20 9

Maçã

Quantidade a comprar

Quantidade a produzir

Quantidade a armazenar de concentrado

Quantidade armazenar de

sumo

Quantidade a entregar em cada período

normal Extra

Janeiro 0 0 0 8 5 5

Fevereiro 0 0 0 8 0 5

Março 40 22 0 26 17 5

Abril 4 0 0 30 11 6

Maio 0 27 0 3 30 8

Junho 0 0 0 3 21 9

Julho 27 0 0 30 11 10

Agosto 0 0 0 30 1 10

Setembro 3 30 3 0 26 8

Outubro 0 0 0 0 20 6

Novembro 0 0 0 0 15 5

Dezembro 8 0 0 8 10 5

Pera

Quantidade a comprar

Quantidade a produzir

Quantidade a armazenar de concentrado

Quantidade armazenar de

sumo

Quantidade a entregar em cada período

normal Extra

Janeiro 0 0 0 6 6 4

Fevereiro 14 20 0 0 22 4

Page 60: Relatório Do Trabalho 1 Mdio

60

Março 0 0 0 0 18 4

Abril 0 0 0 0 13 5

Maio 0 0 0 0 7 6

Junho 27 0 0 27 0 7

Julho 0 27 0 0 19 8

Agosto 0 0 0 0 11 8

Setembro 0 0 0 0 5 6

Outubro 0 0 0 0 0 5

Novembro 24 18 0 6 14 4

Dezembro 0 0 0 6 10 4

V.5. Verifique que a solução é admissível e que os custos estão corretos. Apresente evidência sumária do trabalho de validação do modelo.

Com este modelo podemos concluir que :

No mês de Janeiro só se produz sumo de laranja

No mês de Fevereiro só se produz sumo de pêra

No mês de Março só se produz sumo de maça

No mês de Abril só se produz sumo de laranja

No mês de Maio só se produz sumo de maça

No mês de Junho só se produz sumo de laranja

No mês de Julho só se produz sumo de pêra

No mês de Agosto só se produz sumo de laranja

No mês de Setembro só se produz sumo de maça

No mês de Outubro só se produz sumo de laranja

No mês de Novembro só se produz sumo de pêra

No mês de Dezembro só se produz sumo de laranja

Custo de concentrado:

Laranja=170CCL1+155CCL2+170CCL3+155CCL4+170CCL5+155CCL6+170CCL7+155CCL8+170CCL9+155CCL10+170CCL11+155CCL12;

Maçã=231CCM1+199CCM2+187CCM3+198CCM4+210CCM5+208CCM6+211CCM7+220CCM8+217CCM9+216CCM10+221CCM11+217CCM12;

Page 61: Relatório Do Trabalho 1 Mdio

61

Pera=116CCP1+116CCP2+124CCP3+120CCP4+132CCP5+128CCP6+136CCP7+116CCP8+120CCP9+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 produção:

Laranja=10PSL1+10PSL2+10PSL3+10PSL4+10PSL5+10PSL6+15PSL6_EXTRA+10PSL7+12PSL8+18PSL8_EXTRA+10PSL9+10PSL10+10PSL11+10PSL12;

Maçã=10PSM1+10PSM2+10PSM3+10PSM4+10PSM5+10PSM6+10PSM7+12PSM8+10PSM9+15PSM9_EXTRA+10PSM10+10PSM11+10PSM12;

Pera=10PSP1+10PSP2+10PSP3+10PSP4+10PSP5+10PSP6+10PSP7+10PSP8+10PSP9+10PSP10+10PSP11+10PSP12, o que implica que:

Laranjas: 12*10+23*10+30*10+6*15+30*12+5*18+22*10+29*10 = 1700

Maçãs : 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 Maçãs: 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.

Page 62: Relatório Do Trabalho 1 Mdio

62

Conclusão

Este trabalho permitiu-nos analisar diferentes tipos de cenários, que nos permitiram saber as quantidades a comprar, a produzir e a armazenar de cada matéria prima, em cada período.

No primeiro cenário, correspondente à parte I, obtivemos um custo total de 52105 U.M., fizemos um modelo que respeitava as condições iniciais do enunciado.

No segundo cenário, 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 produção fosse reduzida a metade, e para além disso a paragem poderia acontecer ou no mês de março ou setembro, sendo que a solução do mês de setembro era impossível, pois a produção de sumos em stock dos meses anteriores não era suficiente para cobrir as vendas dos meses seguintes.

No terceiro cenário, correspondente à parte III, obtivemos um custo total de 52376 U.M. , neste modelo a paragem foi durante um mês, podendo ser também ou no mês de março ou no mês de setembro, aqui também não houve solução do mês de setembro.

No quarto cenário, correspondente à parte IV, obtivemos um custo total para o mês de março de 52334 U.M., nesta parte poderia haver uma produção extraordinária de mais 6 U.E. por período, e ainda um aumento do custo de produção de 50%. E para o mês de setembro obtivemos um custo total de 52284 U.M., sujeito também às mesmas restrições do anterior.

No quinto cenário, correspondente à parte V, obtivemos um custo total de 52820 U.M., neste cenário o objetivo era a produção de apenas um tipo de sumo em cada mês.

Portanto, para concluir o cenário que encarga menores custos à empresa é o primeiro.