You are on page 1of 20

LINGO - PARTE 1 : MANUAL DE REFERNCIA

Alosio de Castro Gomes Jnior Marcone Jamilson Freitas Souza

Projeto patrocinado pelo programa PR-ATIVA da UFOP

DEPARTAMENTO DE COMPUTAO UNIVERSIDADE FEDERAL DE OURO PRETO JANEIRO DE 2004

Contedo
1 LINGO
1.1 1.2 O que o LINGO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemplos de como Modelar usando o LINGO . . . . . . . . . . . . . . . . . . . . . 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 Problema da Otimizao de Padres de Produo . . . . . . . . . . . . . .

1
1 1 1 5 7 12 13

Problema da Agncia de Propaganda . . . . . . . . . . . . . . . . . . . . . . Problema da Carteira de Investimento . . . . . . . . . . . . . . . . . . . . . Problema da Mochila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problema da Fbrica de Brinquedos . . . . . . . . . . . . . . . . . . . . . .

Bibliograa

17

Lista de Figuras
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 Padres de Corte para o exemplo da seo 1.2.1 . . . . . . . . . . . . . . . . . . . . Tela Inicial do LINGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modelo LINGO para o exemplo da seo 1.2.1 . . . . . . . . . . . . . . . . . . . . . Janela de Resultados do LINGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relatrio de Soluo do LINGO para o Exemplo da seo 1.2.1 . . . . . . . . . . . Modelo LINGO para o exemplo da seo 1.2.2 . . . . . . . . . . . . . . . . . . . . . Modelo LINGO para o exemplo da seo 1.2.3 . . . . . . . . . . . . . . . . . . . . . Janela de Opes de Congurao do LINGO . . . . . . . . . . . . . . . . . . . . . Anlise de Sensibilidade para o exemplo da seo 1.2.3 . . . . . . . . . . . . . . . . 3 3 3 4 8 8 10 11 11 15 15 16

1.10 Modelo LINGO para o exemplo da seo 1.2.4 . . . . . . . . . . . . . . . . . . . . . 1.11 Modelo LINGO para o exemplo da seo 1.2.5 . . . . . . . . . . . . . . . . . . . . . 1.12 Planilha do Excel usada no Exemplo seo 1.2.5 . . . . . . . . . . . . . . . . . . .

ii

Captulo 1

LINGO
1.1 O que o LINGO?
O LINGO uma ferramenta simples para utilizar o poder da otimizao linear ou no-linear para formular problemas grandes concisamente, resolv-los e analisar a soluo. Neste curso aprenderemos algumas noes bsicas de utilizao deste poderoso software, trabalheremos com modelos simples e modelos comlexos, onde a leitura dos dados poder ser feita diretamente no LINGO ou num arquivo do bloco de notas e at mesmo em uma planilha do Excel.

1.2 Exemplos de como Modelar usando o LINGO


Para familiarizarmos com o uso do LINGO utilizaremos uma srie de exemplos para a xao de seus principais comandos.

1.2.1 Problema da Otimizao de Padres de Produo


Uma determinada fbrica produz panelas de metal mdias e grandes a partir de elementos circulares de dimetros circulares de dimetros de 0,25 e 0,40 metros, respectivamente. A primeira operao para obter as panelas um corte desses elementos circulares sobre chapas de dimenso de 1,40 x 0,50 metros. Os elementos planos circulares so transformados em panelas em uma segunda operao de estamparia. Para o corte existem quatro tipo de matrizes conforme mostra a gura 1.1. A fbrica deseja uma produo diria mnima de 500 panelas mdias (obtidas do elemento circular 0,25) e 350 grandes (obtidas do elemento circular de dimetro 0,40). Os custos em reais por chapa pelo uso de cada matriz de corte so respectivamente: 1,2,3,2. Elaborar o modelo de Programao Linear que planeje a produo de modo a minimizar o custo com o uso de chapas. Seja xi a quantidade de chapas cortadas de acordo com a matriz, i = 1, . . . , 4 a serem utilizadas na produo.

O modelo de deciso do problema dado a seguir.

min s.a

x1 8x1

x2 + x3 + 4x2 + 2x3 x2 + 2x3 + xi 0, i=1,. . . ,4 e xj Z +

+ +

x4 3x4

500 350

Outra forma de representar o modelo de deciso deste problema :


n

min
j=1 n

cj xj aij xj bi i = 1, 2 xj 0 , j = 1, . . . , 4 e xj Z +
j=1

s.a

1 x1 2 x2 8 4 2 0 500 onde: n=4; c= 3 ; a= 0 1 2 3 ; b= 350 e x= x3 . 2 x4 Para este exemplo, usaremos uma modelagem simples, parecida muito com a modelagem uti
lizada pelo LINDO. Primeiramente devemos abrir o LINGO, depois de aberto o LINGO mostrar uma tela em branco, parecida com o da gura 1.2 onde ser digitado o modelo. Um modelo LINGO muito parecido com o LINDO, conforme podemos observar atravs da gura 1.3. Aqui neste modelo estamos declarando a Funo-Objetivo (FO) a qual deve ser minimizada, da o comando MIN. Caso este PPL fosse de maximizao o comando a acompanhar a FO deveria ser o comando MAX. Nas duas linhas abaixo esto sendo declaradas as restries do problema. Note que no nal de cada comando devemos colocar ";". No h necessidade de digitar END ao nal do modelo. As quatro ltimas linhas esto informando ao LINGO que as variveis so do tipo inteiro, o que feito atravs do comando @GIN(nome da varivel). Os tipos de variveis que podem ser usadas com o LINGO so apresentadas na tabela a seguir. Vale lembrar que os nomes das variveis tm que ser iniciados por letras e podem ser seguidos por qualquer caracter alfanumrico.

Observao:
1. Caso queira fazer algum comentrio basta digitar "!"seguido do comentrio. 2. Voc pode dar nome s linhas das restries, para isto, basta digitar o nome da restrio entre colchetes. Ex.: [Rest1] Tabela de tipos de variveis do LINGO

Figura 1.1: Padres de Corte para o exemplo da seo 1.2.1

Figura 1.2: Tela Inicial do LINGO

Figura 1.3: Modelo LINGO para o exemplo da seo 1.2.1

COMANDO @GIN(VAR) @BIN(VAR) @FREE(VAR) @BND(LI,VAR,LS)

EXPLICAO usado para designar variveis inteiras usado para designar variveis binrias usado para designar que a varivel livre usado para designar os valores pelos quais a varivel VAR limitada inferiormente e superiormente. Aqui temos que LI valor mnimo da varivel e LS o valor mximo, ou seja, LI VAR LS.

No nosso exemplo todas as variveis so inteiras, da a necessidades da incluso das ltimas quatro linhas ao modelo. Agora s falta resolv-lo, para isto basta clicar no menu "LINGO" e logo em seguida em "SOLVE", ou simplesmente clique no boto "SOLVE" na barra de ferramentas. Se tudo estiver digitado corretamente aparecer uma janela como a mostrada na gura 1.4.

Figura 1.4: Janela de Resultados do LINGO Clique no boto "CLOSE" para fechar esta janela, aparecer na tela uma janela com os resultados do problema obtidos pelo LINGO, conforme pode ser observado na gura 1.5. Em um relatrio de soluo do LINGO voc encontrar uma parte denominada REDUCED COST (custo reduzido) para cada varivel do problema. Ela pode ser interpretada da seguinte maneira: O custo reduzido de uma varivel do tipo real pode ser interpretado como a quantia de penalidade (positiva ou negativa, dependendo do problema) que voc teria que pagar para introduzir uma unidade daquela varivel na soluo. No nosso exemplo, a varivel x2 (caso ela fosse do tipo real) teria como custo reduzido 1, signicando que se diminuirmos uma unidade do coeciente da varivel na FO, seu uso se tornaria interessante. J a coluna SLACK or SURPLUS, indica o excesso em restries do tipo ou a folga em

restries do tipo . No nosso exemplo podemos observar que temos uma folga de 4 unidades na

1a restrio e 1 unidade na 2a restrio.


A coluna DUAL PRICE pode ser interpretada como a quantia pela qual a funo objetivo FO melhoraria (pioraria) quando o lado direito das restries (constantes) aumentado (diminudo) em uma unidade. Ele tambm pode ser entendido como o que estamos dispostos a pagar por unidades adicionais de um recurso. Por isto ele tambm chamado de SHADOW PRICE. Essas informaes, no entanto, s tem sentido se as variveis envolvidas no modelo forem do tipo real e essa anlise tem validade apenas em um certo intervalo de variao das restries (vide nal da seo 1.2.3 sobre como proceder para fazer esta anlise).

1.2.2 Problema da Agncia de Propaganda


Uma agncia de propaganda planeja uma campanha de publicidade em trs meios de comunicao: televiso, rdio e revistas. O propsito da propaganda de alcanar tantos "fregueses em potencial"quanto possvel. Os resultados de um estudo de mercado esto no quadro a seguir:

Meios de Comunicao \ Itens


Custo de uma unidade de propaganda no de fregueses em potencial alcnados por unidade de propaganda no de fregueses do sexo feminino alcanados por unidade de propaganda

TV Horrio Horrio Comum Nobre


40.000 75.000

Rdio
30.000 500.000 200.000

Revistas
15.000 200.000 100.000

400.000 300.000

900.000 400.000

A empresa que encomendou a campanha no quer gastar mais que $800.000 com propaganda. Alm disso, requer: a) que pelo menos 2 milhes de pessoas alcanadas sejam do sexo feminino; b) que a propaganda vinculada pela TV seja limitada a um custo de $500.000; c) que pelo menos 3 unidades de propaganda sejam vinculadas no horrio comum e pelo menos 2 durante horrio nobre; d) que o nmero de unidades de propaganda no rdio e na revista que individualmente entre 5 e 10. A modelagem para este PPL apresentada a seguir:

max s.a

400.000x1 + 900.000x2 + 40.000x1 + 75.000x2 + 300.000x1 + 400.000x2 + 40.000x1 + 75.000x2 x1 3 ; x2 2 ; xj 0, j =1,. . . ,4 e xj Z +

500.000x3 30.000x3 200.000x3 5 x3 10

+ + + ;

200.000x4 15.000x4 100.000x4 5 x4 10

800.000 2.000.000 500.000

Onde xj nmero de unidades de propaganda a serem veiculadas no meio de comunicao j=(1: horrio comum na TV; 2: horrio nobre na TV; 3: rdio; 4: revista). Outra forma de representar o modelo de deciso deste problema :
n

max
j=1 n

cj xj aij xj bi i = 1, 2
j=1 n

s.a

dj xj 2.000.000
j=1

x1 3 ; x2 2 ; 5 x3 10 ; 5 x4 10 xj 0 , j = 1, . . . , 4 e xj Z + 400.000 900.000 40.000 75.000 30.000 15.000 800.000 onde: n=4; c= ; b= d= 500.000 ; a= 40.000 75.000 0 0 500.000 200.000 x1 x e x= 2 . x3 x4 Para modelarmos este PPL no LINGO, usaremos uma forma diferente da proposta no 300.000 400.000 200.000 100.000

exem-

plo anterior. Usaremos neste problema o conceito de SETS (grupos de objetos relacionados) que normalmente so utilizados em problemas de grande porte. Em um modelo LINGO, uma seo SETS denida da seguinte forma: SETS: setname [/ member_list /] [: variable_list]; ENDSETS onde: setname o nome que voc escolhe para designar o grupo de objetos. [/member_list/] lista de membros que constituem o grupo de objetos. Tabela de exemplos Lista de Membros na forma implcita 1..n StringM..StringN dayM..dayN monthM..monthN monthYearM..monthYearN de lista de membros de um grupo de objetos Exemplo Membros do grupo 1..5 TR3..TR204 MON..FRI OCT..JAN OCT2001..DEZ2001 1, 2, 3, 4, 5 TR3, TR4,. . . ,TR204 MON,TUE,WED,THU,FRI OCT, NOV,DEC,JAN OCT2001,NOV2001,DEC2001

[:variable_list] lista de variveis (ou constantes) que tem as mesmas caractersticas do grupo de objetos. Quando h mais de uma varivel (ou constante), elas devem ser separadas por vrgula. Observao: os colchetes indicam que essas informaes so opcionais.

Exemplo:
v1 / 1..4 /: x, C, D ; Neste exemplo estamos denindo um grupo de objetos com nome v1, cujos membros so 1, 2, 3 e 4. x, C e D so variveis (ou constantes) que tm esses membros em seu domnio de denio (x(1),. . . ,x(4),C(1),. . . ,C(4),D(1),. . . ,D(4)). Um grupo de objetos tambm pode ser derivado de outros grupos, como o caso do exemplo abaixo, onde temos o grupo Matriz que depende dos grupos v1 e v2 e A uma constante (no caso, uma matriz) que tem como domnio o conjunto dos membros dos grupos anteriores(A(1,1), A(1,2),. . . ). matriz(v2, v1): A; Observao: Um SET pode ser entendido, fazendo uma analogia com a linguagem PASCAL, como uma estrutura de dados do tipo vetor (SETS simples) ou matriz (SETS derivado), onde cada posio um membro do grupo de objetos. Tambm usaremos os comando @SUM e @FOR, que so utilizados em conjunto com os grupos de objetos denidos na seo SETS. @SUM utilizado para calcular um somatrio e @FOR um comando de repetio. Usaremos tambm a seo DATA para ler os valores das constantes denidas na seo SETS. Exemplos dos comandos @FOR e @SUM e da seo DATA so mostrados na gura 1.6, onde apresentado a modelagem LINGO para este PPL. Vale notar que as variveis x1 e x2 so limitadas apenas inferiormente. Neste caso, o limite superior representado por um nmero arbitrariamente grande, por exemplo, 1E19 (1 1019 ). Para resolver o problema procede-se da mesma forma do exemplo da seo 1.2.1.

1.2.3 Problema da Carteira de Investimento


Um investidor possui $18.000 e tem a sua disposio trs opes para aplicar seu capital, alm de deix-lo, todo ou em parte, no banco, rendendo 6% ao ano. ALTERNATIVA 1: Comprar um lote de aes cujo preo unitrio de $4,50 e cuja rentabilidade anual esperada de 47%. ALTERNATIVA 2: Comprar letras de cmbio cujo preo unitrio $3,00 e cuja rentabilidade

Figura 1.5: Relatrio de Soluo do LINGO para o Exemplo da seo 1.2.1

Figura 1.6: Modelo LINGO para o exemplo da seo 1.2.2

anual de 32%. ALTERNATIVA 3: Comprar Obrigaes do Tesouro, cujo preo unitrio $1,50 e cuja rentabilidade anual de 8%. Supondo que o investidor no desaja adquirir mais do que 1.750 aes e/ou letras de cmbio; que seu corretor s possa conseguir at 1.000 aes e 1.500 letras de cmbio; que o investidor queira - por medida de segurana quanto liquidez - deixar, pelo menos, $2.000 no banco; que o investimento feito em obrigaes do Tesouro no ultrapasse 1,7 vezes o depsito deixado no banco, que quantidades o investidor deve alocar a cada alternativa, considerando que o seu objetivo maximizar o seu capital no m do ano? Formule um modelo de Programao Linear para responder esta pergunta. A modelagem para este PPL apresentada a seguir:

max s.a

6, 62x1 4, 50x1 2, 12x1 x1 x1

+ + + +

3, 96x2 3, 00x2 0, 96x2 x2

+ + +

1, 62x3 1, 50x3 0, 12x3

+ +

1, 06x4 x4 x4 0, 06x4

x2 7, 65x1 + 5, 10x2 xj 0, j =1,. . . ,4

4, 05x3

18.000 2.000 0 1.750 1.000 1.500 30.600

Onde x4 total deixado no banco e xj nmero de opes do tipo j=(1: aes; 2: letras de cmbio; 3: obrigaes do tesouro). Outra forma de representar o modelo de deciso deste problema :
n

max
j=1 n

cj xj aj xj = 18.000
j=1 n

s.a

bj xj 0
j=1 n

dij xj ei i = 1, 2 x1 1.000, x2 1.500, x4 2.000 xj 0 , j = 1, . . . , 4 6, 62 4, 50 3, 96 3, 00 onde: n=4; c= 1, 62 ; a= 1, 50 1, 06 1, 00 x1 x e x= 2 . x3 x4 2, 12 ; b= 0, 96 ; d= 0, 12 0, 06 1 1 0 0 7, 65 5, 1 4, 05 0 1.750 30.600


j=1

; e=

A diferena da modelagem deste PPL para os anteriores, reside no fato de que aqui os parmetros so lidos atravs do comando DATA em um arquivo de texto j previamente digitado. Utiliza-se para isto o comando @FILE(`nome do arquivo'). O nome do arquivo deve estar entre aspas simples e estar no diretrio onde foi salvo o modelo. Caso contrrio, dever ser informado o caminho completo onde o mesmo se encontra (ex.: c=@FILE(`C:\LINGO\SAMPLES\teste.txt'). Os valores nestes arquivos devem ser digitados um em cada linha. Na gura 1.7 apresentado a modelagem LINGO para este PPL usando este comando.

Figura 1.7: Modelo LINGO para o exemplo da seo 1.2.3 Para resolv-lo, devemos proceder conforme foi explicado no exemplo da seo 1.2.1. Neste exemplo mostraremos como fazer a anlise de sensibilidade no LINGO. Inicialmente necessrio ativar esta opo. Para tanto, clique no menu LINGO e logo em seguida em OPTIONS. V at a aba GENERAL SOLVER e escolha a opo PRICES & RANGES no campo DUAL

COMPUTATIONS. A gura 1.8 ilustra tal procedimento.


Aps resolvido o modelo e ativada a opo PRICES & RANGES para o LINGO apresentar a anlise de sensibilidade necessrio clicar no menu LINGO e em seguida em RANGE tendo como janela ativa a janela do modelo. A gura 1.9 apresenta a tela com o resultado da anlise de sensibilidade deste exemplo.

Figura 1.8: Janela de Opes de Congurao do LINGO

Figura 1.9: Anlise de Sensibilidade para o exemplo da seo 1.2.3

Referncias sobre anlise de sensibilidade so encontradas no captulo referente ao estudo do software LINDO.

1.2.4 Problema da Mochila


Dado n objetos, cada qual com um peso wi e importncia pi , aloc-los em uma mochila de capacidade b maximizando a importncia dos objetos colocados. Assumi-se que h apenas uma unidade de cada objeto. A modelagem deste PPL apresentado a seguir: 1; se o objeto i alocado na mochila, Seja xi = 0; caso contrrio.
n

max
i=1 n

pi xi wi xi b xj {0, 1} i = 1, ..., n
i=1

s.a

Para este problema da mochila vamos considerar a seguinte tabela de dados:

Objeto(xi ) Peso (wi ) (em kg) Importncia (pi ) Objeto(xi ) Peso (wi ) (em kg) Importncia (pi ) Objeto(xi ) Peso (wi ) (em kg) Importncia (pi ) Objeto(xi ) Peso (wi ) (em kg) Importncia (pi ) Objeto(xi ) Peso (wi ) (em kg) Importncia (pi )

01 2 7 11 3 4 21 1 1 31 9 4 41 2 2

02 3 4 12 4 2 22 2 3 32 8 7 42 3 4

03 4 4 13 8 9 23 5 5 33 7 9 43 4 5

04 5 6 14 9 8 24 4 3 34 6 7 44 5 6

05 1 2 15 2 3 25 3 2 35 5 7 45 1 1

06 5 3 16 4 5 26 7 6 36 4 7 46 5 8

07 4 7 17 5 6 27 9 8 37 3 5 47 4 9

08 2 3 18 5 7 28 2 3 38 2 3 48 2 5

09 3 2 19 6 7 29 4 3 39 1 2 49 3 5

10 7 8 20 9 9 30 3 1 40 5 2 50 7 8

Capacidade da mochila (b) = 150 kg A modelagem LINGO deste PPL apresentado na gura 1.10. Aqui podemos observar que a nica diferena que os parmetros usados nos SETS so lidos atravs de arquivos textos com base no comando @FILE(`nome do arquivo') e as solues so geradas em arquivo texto atravs do comando @TEXT(`nome do arquivo'). Para ler os parmetros m e n em um nico arquivo, basta separ-los por til, no caso, 50 150. Notamos que este PPL seria de difcil modelagem usando a forma apresentada no exemplo da seo 1.2.1, da a comodidade da utilizao da seo SETS em problemas deste porte.

1.2.5 Problema da Fbrica de Brinquedos


A companhia Coelho S.A. fabrica motores para brinquedos e pequenos aparelhos. O departamento de marketing est prevendo vendas de 6100 unidades do motor Roncam no prximo semestre. Esta uma nova demanda e a companhia ter que testar sua capacidade produtiva. O motor Roncam montado a partir de trs componentes: o corpo, a base e a blindagem. Alguns destes componentes podem ser comprados de outros fornecedores, se houver limitaes da Coelho S.A. Os custos de produo e os custos de aquisio em R$/unidade esto resumidos na tabela a seguir. Componente Corpo Base Blindagem Custo de Aquisio (em R$) 10 20 16 Custo de Produo (em R$) 8 20 10

A fbrica da Companhia Coelho S.A. tem trs departamentos. O requisito de tempo em minutos que cada componente consome em cada departamento est resumido na tabela a seguir. O tempo disponvel na companhia para cada componente est listado na ltima linha. Componente Corpo Base Blindagem Disponibilidade Tempo de Preparao (em minutos) 2 5 4 49200 Tempo de molde (em minutos) 4 2 5 49200 Tempo de fabricao (em minutos) 2 4 5 49200

O modelo de deciso do problema dado abaixo, onde xij representa a quantidade de componentes i=(1=se o componente for o Corpo, 2=se o componente for a Base e 3=se o componente for a Blindagem) a serem utilizados no modo j = (A=se o componente for adquirido e F=Se o componente for fabricado).

min s.a

8x1F 2x1F 4x1F 2x1F x1F x1F

+ + + +

20x2F 5x2F 2x2F 4x2F x2F

+ + + +

10x3F 4x3F 5x3F 5x3F x3F x3F

10x1A

20x2A

16x3A

x1A + x2A x2A + , x3A x3A x1A ,

x2F

49200 49200 49200 6100 6100 6100 0

Outra forma de representar este modelo apresentado abaixo:


n

min
j=1 n

cj xj aij xj 49.200 i = 1, 2, 3
j=1 n

s.a

dij xj 6.100 i = 1, 2, 3 xj 0 , j = 1, . . . , 6
j=1

8 20 2 5 4 0 0 0 1 0 0 10 ; a= 4 2 5 0 0 0 ; d= 0 1 0 onde: n=6; c= 10 2 4 5 0 0 0 0 0 1 20 16 Para efeito de clculo, estamos adotando que x1F =x1 , x2F =x2 , x3A =x6 .
O modelo LINGO para este PPL apresentado na gura 1.11.

1 0 0

0 1 0

0 0 1

x3F =x3 ,

x1 x2 e x= x3 . x4 x5 x6 x1A =x4 , x2A =x5 e

A diferena deste modelo para os outros est no fato de estarmos lendo as constantes da seo SETS atravs de uma planilha do Excel e depois exportando o resultado para a mesma, utilizando a seo DATA. Tanto a leitura quanto a exportao dos dados para a planilha feita atravs do comando @OLE(`nomearq.xls',`nome do conjunto de clulas'). Para a utilizao de uma planilha do Excel, devemos denir um nome para cada conjunto de clulas referenciadas no modelo. Considerando a planilha apresentada na gura 1.12, temos os seguintes conjuntos de clulas com seus respectivos nomes:

Conjunto de clulas
B3 a G3 I5 a I7 I8 a I10 C16 B5 a G7 B8 a G10 B14 a G14

Nome
custo Coef1 Coef2 FO Rest1 Rest2 x

Figura 1.10: Modelo LINGO para o exemplo da seo 1.2.4

Figura 1.11: Modelo LINGO para o exemplo da seo 1.2.5

Figura 1.12: Planilha do Excel usada no Exemplo seo 1.2.5

Bibliograa
[1] M. C .Goldbarg e H. P. L. Luna. Otimizao Combinatria e Programao Linear: Modelos e Algoritmos. Editora Campus, Rio de Janeiro, 2000. [2] Helmut Kopka and Patrick W. Dale. A Guide to LATEX. Addison-Wesley, Harlow, England, 3rd edition, 1999. [3] Gerson Lachtermacher. Pesquisa Operacional na Tomada de Decises. Editora Campus, Rio de Janeiro, 2002. [4] Lindo Systems Inc., Chicago. LINGO: the modeling language and optmizer, 2001.

17

You might also like