Beruflich Dokumente
Kultur Dokumente
Roteiro
Alguns Softwares de Otimizao Descrio d E D i do Exerccio i Exerccio Resolvido
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:
X
OK!
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!
Resoluo do Exerccio
XPRESS
XPRESS
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
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
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