Sie sind auf Seite 1von 41

Guia Rpido de Aprendizado de Softwares de Otimizao

Mrcio Seiti Kawamura


Maro-08

Roteiro
Alguns Softwares de Otimizao Descrio d E D i do Exerccio i Exerccio Resolvido

Alguns Softwares de Otimizao


Lindo
Uso simples e rpido Ideal para modelos de pequeno porte (necessidade de digitao extensa das restries) Disponvel para download em http://www lindo com http://www.lindo.com

Whats Best !
Interface amigvel atravs de planilhas de Excel g Ideal para aplicaes prticas e apresentaes de resultado Disponvel para download em http://www.lindo.com

Xpress
Uso da linguagem Mosel (necessidade de aprendizado relativamente fcil para usurios com conhecimentos em programao) Ideal para modelos de grande porte (facilidade de importao de arquivos de dados, uso de frmulas como somatrio, condies, etc) Disponvel para download em http://www.dashoptimization.com

Descrio do Exerccio

Um Problema de Dieta*
Minha dieta composta de 4 grupos bsicos de alimento: bolo, sorvete, refrigerante e torta. g Hoje existem 4 alimentos disponveis para consumo, cujas caractersticas so descritas na tabela abaixo:
Calorias Brownie Sorvete de chocolate Coca-cola Torta d b T t de abacaxi i 400 200 150 500 Chocolate (g) 3 2 0 0 Acar (g) 2 2 4 4 Gordura (g) 2 4 1 5 Preo (R$) 5,00 , 2,00 3,00 8,00 8 00

Diariamente tenho que consumir pelo menos 500 calorias, 6 g de chocolate, 10 g d acar e 8 g d gordura. Q l a melhor combinao d h l t de de d Qual lh bi de alimentos que satisfaa minhas necessidades dirias com mnimo custo ?

* Adaptado de Winston, W.L. Introduction to Mathematical Programming. Applications and Algortihms. Duxbury Press. 2nd Edition. pp 66.

Um Problema de Dieta
Uma formulao para esse problema pode ser dada por:
Varivel x1 x2 x3 x4 Descrio Quantidade de brownies consumidos diariamente Quantidade de bolas de sorvete de chocolate consumidas diariamente Quantidade de latas de coca-cola consumidas diariamente Quantidade de fatias de torta de abacaxi consumidas diariamente min z = 5x1 + 2x2 + 3x3 + 8x4

Funo Objetivo:

Sujeito a: 1) 400x1 + 200x2 + 150x3 + 500x4 500 (Consumo mnimo de calorias) 2) 3x1 + 2x2 + 0x3 + 0x4 6 (Consumo mnimo de chocolate) 3) 2x1 + 2x2 + 4x3 + 4x4 10 (Consumo mnimo de acar) 4) 2x1 + 4x2 + 1x3 + 5x4 8 (Consumo mnimo de gordura) 5...8) x1 0, x2 0, x3 0, x4 0 (Quantidades no negativas)

Um Problema de Dieta
A resposta para esse problema :
Varivel x1 x2 x3 x4 Valor 0 3 1 0 min z = 5x1 + 2x2 + 3x3 + 8x4 = = 5(0) + 2(3) + 3(1) + 8(0) = =9 Funo Objetivo:

Ou seja, a dieta diria de custo mnimo composta por 3 bolas de sorvete e 1 j p p lata de coca-cola, com custo total de R$ 9,00.

Vamos ver como obter esse resultado atravs dos softwares de otimizao ?

Resoluo do Exerccio
LINDO

LINDO
A verso de estudante pode ser instalada gratuitamente e possui limitao de processamento de modelos com at 150 restries, , 300 variveis e/ou 50 variveis inteiras (verso 6.1).

LINDO

No LINDO, N LINDO o usurio d i deve digitar a formulao matemtica do problema na tela em branco como num editor de texto.

LINDO

Para resolver o problema, o usurio deve selecionar no menu Solve a opo Solve (CTRL+S) ou pressionar o boto com a figura d um alvo na b fi de l barra d de ferramentas.

LINDO

Para gerar o relatrio de anlise de sensibilidade, aperte o boto Sim na caixa de dilogo Do range (sensitivity) analysis ?

LINDO

A caixa de d ogo LINDO ca a dilogo O Solver Status mostra os dados do processamento do modelo como nmero de iteraes, valor da funo objetivo, tempo de processamento, etc processamento etc.

LINDO

O relatrio de resultados ea o esu ados gerado pelo LINDO Report Window mostra o valor da funo objetivo (9 000000) (9.000000), o valor das variveis x1, x2, x3 e x4, alm da anlise de sensibilidade (intervalos (intervalos, dual prices, etc).

LINDO
Cuidado: No LINDO, as restries devem sempre conter as variveis no lado esquerdo da expresso e os parmetros no lado direito:

Sujeito a: 1) 400x1 + 200x2 + 150x3 500 - 500x4

X
OK!

Sujeito a: 1) 400x1 + 200x2 + 150x3 + 500x4 500

Resoluo do Exerccio
Whats Best !

Whats Best !

O Whats Best ! funciona como um mdulo do Microsoft Excel, instalando um menu (WB!) e uma barra de ferramentas prpria.

Whats Best !

A verso de es uda e pode ser e so estudante se instalada gratuitamente e possui limitao de processamento de modelos com at 150 restries, restries 300 variveis e/ou 30 variveis inteiras (verso 9.0).

Whats Best !

No Whats Best!, a formulao matemtica deve ser construda como em uma planilha de clculo.

Whats Best !

Para determinar a natureza da funo objetivo, selecione a clula que contm o clculo da funo objetivo e p j pressione na barra de ferramentas WB! o boto seta verde para cima (maximizar) ou seta verde para baixo (minimizar) ou selecione a opo Best... no menu WB!

Whats Best !

Para determinar as variveis de deciso, selecione as clulas que contm os valores das variveis de deciso e pressione na barra de ferramentas WB! o boto k->x (make adjustable) ou selecione a opo Adjustable... no menu WB!

Whats Best !

Para determinar uma restrio, selecione a clula que contm o q sinal da restrio a ser gerada e pressione na barra de ferramentas WB! o boto correspondente (>=, ( , <= ou =) ou selecione a opo Constraints... no menu WB!

Whats Best !

Para resolver o problema, pressione o boto com a figura de um alvo na barra de ferramentas WB! ou selecione a opo Solve no menu WB!

Whats Best !
A caixa de dilogo Whats B t! S l Wh t Best! Solver Status mostra os dados do processamento do modelo como nmero de iteraes, valor da funo objetivo, tempo de processamento, etc.

Whats Best !

No What s Best!, os resultados Whats (valor da funo objetivo, das variveis de deciso, etc) so apresentados diretamente na planilha do modelo.

Whats Best !

O relatrio de resultados gerado pelo Whats Best! Status Report mostra o valor da funo objetivo e as d f bj ti principais caractersticas do modelo.

Whats Best !

O relatrio de g resultados gerado pelo Whats Best! Solution Report mostra o valor da funo objetivo (9.000000), o valor das variveis de deciso, l da d i alm d anlise de sensibilidade (intervalos, (intervalos dual prices, etc).

Whats Best !
Cuidado: N construo d f Na t das frmulas d modelo, evite o uso d f l do d l it de funes d do Excel como SE(), ABS(), etc. Isso pode tornar seu modelo no-linear, no garantindo a otimalidade da soluo encontrada.
Sujeito a: 1) se y1 = 0 ento x1 4, y1 = {0,1}, x1 0 4 {0 1}

X
OK!

Sujeito S j it a: 1) x1 + My1 4, y1 = {0,1}, x1 0, M nmero suficientemente grande

Resoluo do Exerccio
XPRESS

XPRESS

A formulao do problema deve ser escrita na linguagem Mosel no campo indicado.

XPRESS

D um nome (Problema_Dieta) ao seu modelo aps o comando model. A expresso mmxprs refere-se ao pacote f t usado para resolver problemas de pesquisa operacional.

XPRESS

A declarao das variveis limitada pelos comandos declarations e end declarations end-declarations. As variveis podem ser: - mpvar: variveis de programa linear - real: nmero em ponto flutuante - integer: nmero inteiro - string: cadeia de caracteres

XPRESS

Na expresso acima o caracter ! indica que o texto a seguir acima, refere-se a um comentrio sem funcionalidade no modelo. Na declarao da funo objetivo, a expresso da funo atribuda entidade z atravs dos sinais := .

XPRESS

A declarao das restries segue o mesmo padro da declarao da funo objetivo objetivo.

XPRESS

Indique o critrio de otimizao atravs dos comandos: minimize(nome_da_funo_objetivo) i i i ( d f bj ti ) ou maximize(nome_da_funo_objetivo) ( _ _ _ j )

XPRESS

Para mostrar os resultados do processamento na tela use o tela, comando writeln. O comando getobjval fornece o valor da funo objetivo e o comando getsol(nome_da_varivel) fornece o valor da varivel getsol(nome da varivel) especificada. O marcador end-model indica o fim do modelo.

XPRESS

Para compilar o modelo ( ifi P il d l (verificar a correo da sintaxe), pressione o boto com as figuras 1 e 0 ou selecione no menu Build a opo Compile. Na barra inferior, aparecer uma mensagem indicando a correta compilao do modelo. d l

XPRESS

Para resolver o problema, pressione o boto com a seta verde ou selecione no menu B ild a opo R Build Run.

XPRESS

A resposta do problema mostrada na tela ao lado.

XPRESS

Selecione uma das abas mostradas ao lado para ter acesso a di diversos relatrios l t i sobre as caractersticas do problema e do resultado.

XPRESS
Para uma melhor utilizao das funcionalidades do XPRESS, estude a aplicao d t d li de: - ndices e conjuntos; - Vetores e matrizes; - Importao e exportao de dados em arquivos; - Comandos como forall, sum, while, etc. Essas informaes podem ser obtidas no tutorial do programa, disponvel em http://www dashoptimization com http://www.dashoptimization.com

Das könnte Ihnen auch gefallen