Professional Documents
Culture Documents
Xpress-MP
um ferramenta de modelagem e otimizao matemtica desenvolvida
pela: FICOTM
http://www.fico.com Xpress Solver Xpress-Optimizer: features optimization algorithms which enable you to solve linear problems (LP), mixed integer problems (MIP), quadratic problems (QP), mixed integer quadratic problems (MIQP), quadratically constrained prob lems (QCQP) and convex general non-linear problems (NLP). Xpress-SLP: is a solver for non-linear programming problems (NLP) and mixed integer non-linear non-convex problems (MINLP). Xpress-Kalis: is Constraint Programming software. It specializes on discrete combinatorial problems as they frequently occur, for instance, in scheduling and planning problems.
Xpress-MP
Modelagem de Problemas e Resoluo:
Xpress-Mosel: allows you to formulate your problem, solve it
using one or several of the Xpress solver engines, and analyze the solution, using a fully-functional compiled programming language specifically designed for the purpose. The Xpress-Mosel environment comprises the Mosel language with its debugger; modules and I/O drivers for accessing other software components and external data sources directly in this language; libraries for embedding models into applications; and an open interface for userwritten extensions to the Mosel language. Xpress-BCL: is an object-oriented library for building, solving, and analyzing problems directly within an application. Xpress-IVE: is a complete visual development environment for under Windows. It incorporates a Mosel program editor, compiler and execution environment.
Xpress-MP
Verso Estudante Xpress-Optimizer Xpress-Mosel Xpress-IVE http://optimization.fico.com/student-version-of-ficoxpress.html
Xpress-IVE (Editor)
Run Model
Lucro := 10*x1 + 15*x2 ! funao objetivo Madeira := x1 + 3*x2 <= 200 ! m2 madeira Mao_de_Obra := 3*x1 + 2*x2 <= 160 ! horas maximize (Lucro) !Resolver o problema writeln ("Soluo de PL:") !imprimindo a soluo writeln ("Funo Objetivo: ", getobjval) writeln ("Fabricar ", getsol(x1), " cadeiras") writeln ("Fabricar ", getsol(x2), " mesas") end-model
do Xpress-MP Optimizer Declarao de variveis de deciso mpvar Funo objetivo e restries Maximizar a Funo objetivo Escreve os valores da soluo
Xpress-Mosel
getobjval : retorna o valor da funo objetivo getsol(x) : retorna o valor timo da varivel x
Soluo de PL: Funo Objetivo: 1057.14 1 Fabricar 11.4286 cadeiras Fabricar 62.8571 mesas
writeln ("Soluo de PL:") !imprimindo a soluo writeln ("Funo Objetivo: ", getobjval) writeln ("Fabricar ", getsol(x1), " cadeiras") writeln ("Fabricar ", getsol(x2), " mesas")
Xpress-IVE
Custos reduzidos
Xpress-IVE
laranja).
Min f = 0,5x1 + 0,18 x2 + 0,2 x3 + 0,16 x4 + 0,30 x5 + 0,18x6 S.a: 225 x1 + 364 x2 + 337 x3 + 385 x4 + 15 x5 + 42 x6 3200 7 x1 + 0 x2 + 2 x3 + 0 x4 + 87 x5 + 13 x6 750 0 x1 + 0 x2 + 3 x3 + 0 x4 + 12 x5 + 59 x6 70 2,9 x1 + 1,3 x2 + 7,6 x3 + 0,1 x4 + 1,3 x5 + 0,7 x6 10 11x1 + 9 x2 + 86 x3 + 0 x4 + 43x5 + 34 x6 650 xi 0, i=1,...,6.
min f ( x1 ,..., xn )
n
ci xi
i 1
s.a.
a ji xi b j ;
i 1
j 1,..., m.
xi 0; i 1,..., n.
Dados de entrada: c = [0.5, 0.18, 0.2, 0.16, 0.30, 0.18 ] b = [3200, 750, 70, 10, 650 ] a = [ 225, 364, 337, 385, 15, 42, 7, 0, 2, 0, 87, 13, 0, 0, 3, 0, 12, 59, 2.9, 1.3, 7.6, 0.1, 1.3, 0.7, 11, 9, 86, 0, 43, 34 ]
Max s.a.
ci xi
i 1 n
pi xi Cap
i 1
xi binrio, i 1,...n
Soluo: Objetivo: 280 x(1): 1 x(2): 1 x(3): 1 x(4): 1 x(5): 0 x(6): 1 x(7): 0 x(8): 0
Soluo: Objetivo: 280 x(1): 1 x(2): 1 x(3): 1 x(4): 1 x(5): 0 x(6): 1 x(7): 0 x(8): 0
\ Using Xpress-MP extensions Maximize 15 x(1) + 100 x(2) + 90 x(3) + 60 x(4) + 40 x(5) + 15 x(6) + 10 x(7) + x(8) Subject To CustoTotal: 2 x(1) + 20 x(2) + 20 x(3) + 30 x(4) + 40 x(5) + 30 x(6) + 60 x(7) + 10 x(8) <= 102 Bounds Binaries x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) End
xij d j ; j 1,..., m.
i 1
1 x1 + 1 x2 x1 0 x2 0 x3 0 x4 0
Escreva um modelo genrico para n cadeiras e m recursos (matria prima) e considere variveis inteiras.
x is_binary !x = 0,1 Variveis Inteiras: x is_integer !x = 0,1,2,. Variveis Continuas x is_continuous ! xR, x0 Variveis Parcialmente Inteiras: variveis que assumem valores inteiros at um determinado limite e valores continuos acima desse limite. x is_partint 5 !x = 0,1,,5 ou xR, x>5: Variveis Semi-Continuas: x is_semcont 6 !x = 0 ou x6 Variveis Inteiras Semi-continuas: integer. x is_semint 7 ! x= 0 ou x = 7,8, Variveis livres: x is_free
valores entre -1.7e+308 e 1.7e+308 string qualquer texto boolean true e false o Tipos Xpress-MP: mpvar : tipo das variveis de decisa linctr: tipo (linear constraint) restries lineares Tipos Estruturados o set : conjunto o array : arranjo ou vetor o list : listas o record : registros
real
Observaes
O Xpress-Mossel diferencia maisculas e minsculas. As palavras
(A-Z) ou com underline ( _ ). Os caracteres seguintes podem ser tanto alfabticos como numricos (0-9) ou com underline ( _ ).
No necessrio que os comandos finalizem com ponto e virgula ; Casos sejam escritos mais de um comando em uma linha, eles devem ser
! Comentrios (! Comentrios !)
n i 1
n j 1 i j
xij 1
sum(i in 1..n, j in 1..n | i<j) x(i,j) = 1