Breve introdução ao uso de solvers para resolver problemas de programação linear

Tamanho: px
Começar a partir da página:

Download "Breve introdução ao uso de solvers para resolver problemas de programação linear"

Transcrição

1 Breve introdução ao uso de solvers para resolver problemas de programação linear Professor: Geraldo Robson Mateus Monitor: Diego Mello da Silva UNIVERSIDADE FEDERAL DE MINAS GERAIS Departamento de Ciência da Computação Pesquisa Operacional 3 de maio de 2010 Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

2 Sumário 1 Definições 2 Linguagens de Modelagem 3 Pacotes Comerciais 4 Exemplos 5 Referências Bibliográficas Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

3 O que é um LP Solver? Wikipedia: Solver é um termo genérico para definir uma parte de um software matemático (programa de computador ou biblioteca) que resolve um problema matemático. Ele pega a descrição do problema de alguma forma e calcula uma solução para o mesmo. A ênfase está em criar um programa ou biblioteca que pode ser facilmente aplicada à outros problemas similares. Um LP solver é, dessa forma, um pacote de software capaz de resolver problemas de programação matemática linear. Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

4 Pacotes comerciais para PL Existem diversos pacotes comerciais e gratuítos disponíveis para resolver problemas de programação linear. Em geral, eles diferem entre sí pelos métodos implementados e tipos de problemas que são capazes de resolver. São exemplos deles: ILOG CPLEX (IBM): Simplex, Pontos Interiores, Barrier, Branch & Bound. Resolve problemas de programação inteira, programação linear de larga escala, programação quadrática, problemas com restrições quadráticas convexas. Gnu Linear Programming Kit (GLPK): Simplex Primal/Dual, Pontos Interiores Primal/Dual, Branch & Cut. Resolve problemas de programação linear e programação inteira mista. Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

5 AMPL AMPL (A Mathematical Programming Language) consiste em uma linguagem algébrica descritiva usada para modelar problemas de programação linear [Fourer, 1990]. AMPL permite separar o modelo (representação simbólica da classe de problemas) dos dados necessários para especificar uma instância particular do problema [Gay, 2001] Permite expressar o problema na forma do modelador, mas de uma maneira que o computador possa compreender o modelo Evita erros ao traduzir o modelo em estruturas de dados computacionais que podem ser resolvidas pelos algoritmos É uma linguagem suportada por vários pacotes comerciais disponíveis no mercado Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

6 GNU MathProg (GMPL) Consiste em um subconjunto da linguagem AMPL, compartilhando muitas partes da sintaxe dessa poderosa linguagem de modelagem Em um processo denominado de tradução, um programa chamado tradutor de modelo analisa a descrição do modelo e o traduz em estruturas de dados internas Tais estruturas de dados podem ser usadas: para a geração de instâncias de problemas de programação matemática diretamente por um programa solver para obter a solução numérica do problema Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

7 Componentes de um modelo de PL em AMPL/GMPL Conjunto: qualquer coleção desordenada de objetos pertinentes ao modelo. Parâmetro: qualquer valor numérico pertinente ao modelo, fornecido pelo usuário. Variável: valores numéricos determinados através da resolução do problema (variáveis de decisão). Objetivo: qualquer expressão linear de parâmetros e variáveis. Restrição: qualquer igualdade/desigualdade linear de parâmetros e variáveis. Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

8 ILOG CPLEX ILOG CPLEX é um dos pacotes comerciais mais utilizados para resolver problemas de programação linear e programação inteira Suporta arquivos de entrada escritos no formato das linguagens de modelagem AMPL e GMPL Resolve problemas de programação linear, assim como diversas extensões de PL: Problemas Fluxo de Rede: uma caso especial de PL que permite ao CPLEX resolver mais rapidamente explorando a estrutura do problema Programação Quadrática: problemas de PL onde a função objetivo é expandida para permitir termos quadráticos Programação Inteira Mista: problemas onde algumas (ou todas) das variáveis de decisão é restrita a possuir um valor inteiro na solução Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

9 ILOG CPLEX CPLEX é disponibilizado de 3 maneiras diferentes, para cobrir as necessidades de seus usuários: CPLEX Callable Library: permite aos programadores embutir otimizadores ILOG CPLEX em aplicações escritas em C, VBasic, Fortran ou qualquer outra linguagem que permita chamar funções escritas em C. A biblioteca é disponibilizada através dos arquivos cplex.dll e cplex.lib (Plataforma Windows) e pelos arquivos libcplex.a, libcplex.so e libcplex.sl (Plataforma UNIX) ILOG Concert Technology: biblioteca de classes e funções em C++, Java e.net que permite definir modelos para problemas de otimização e utilizar algoritmos para resolvê-los. Provê estruturas de dados e estruturas de controle que permitem integrar a parte de otimização com o restante da aplicação em tempo real (por exemplo, para adicionar restrições ao programa em tempo de execução) CPLEX Interactive Optimizer: Programa executável que permite ler um problema interativamente ou a partir de arquivos escritos nos padrões de entrada conhecidos, e entrega a solução do problema interativamente ou a partir de arquivo de saída. Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

10 GNU GLPK Consiste em uma implementação em ANSI C do algoritmo simplex duas-fases, do método dos pontos interiores primal-dual do do método branch-and-bound para resolver programação inteira mista Inclui um solver para problemas de PL e PI construído a partir dessa rotinas (glpsol), e suporta a linguagem de modelagem GMPL Fornece um pré-solver opcional, que transforma o problema em um que possua propriedades numéricas melhores para o algoritmo simplex característica esta particularmente útil para problemas de otimização de larga-escala Permite utilizar a biblioteca GLPK em programas escritos em C Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

11 Comandos: AMPL show show <objeto> expand expand <objeto> model <file.mod> data <file.dat> option solver cplex option cplex_options <opções> solve quit Exibe os nomes dos conjuntos, variáveis, parâmetros, restrições e função objetivo do modelo Quando informado, exibe a implementação do conjunto, variável, parâmetro, restrição ou função objetivo informada Exibe o modelo PL atual, com os dados instanciados. Útil para depuração do modelo Exibe o objeto instanciado Informa qual é o arquivo de modelo a processar Informa qual é o arquivo de dados contendo a instância a resolver Escolhe o CPLEX para resolver o modelo Configura opções do CPLEX via AMPL. Por exemplo, pode-se usar sensitivity para retornar dados de análise de sensibilidade, e primalopt para usar o método primal simplex (outras opções permitem usar métodos dual simplex, otimizador barrier, otimizador inteiro misto e otimizador de redes Resolve o modelo instanciado usando o solver definido Encerra a execução do AMPL Tabela: Comandos AMPL para análise de sensibilidade - variáveis Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

12 Análise de Sensibilidade: AMPL A análise de sensibilidade permite-nos exibir custos reduzidos, shadow prices, e os intervalos para os coeficientes da função objetivo e dos right-hand-sides display <var name>.rc display <var name>.down display <var name>.up display <var name>.current Exibe o custo reduzido da variável especificada Exibe o parâmetro inferior da faixa de coeficientes da função objetivo da variável especificada para o qual a base atual ainda permanece ótima Exibe o parâmetro superior da faixa de coeficientes da função objetivo da variável especificada para o qual a base atual ainda permanece ótima Exibe o valor atual dos coeficientes da função objetivo da variável especificada Tabela: Comandos AMPL para análise de sensibilidade - variáveis Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

13 Análise de Sensibilidade: AMPL A análise de sensibilidade permite-nos exibir custos reduzidos, shadow prices, e os intervalos para os coeficientes da função objetivo e dos right-hand-sides display <constr name> display <constr name>.dual display <constr name>.slack display <constr name>.down display <constr name>.up display <constr name>.current Exibe o shadow price da restrição informada Exibe as variáveis duais da restrição especificada Exibe as variáveis de folga da restrição especificada Exibe o parâmetro inferior da faixa do righthand-side da restrição especificada para o qual a base atual ainda permanece factível, e ótima Exibe o parâmetro superior da faixa do right-hand-side da restrição especificada para o qual a base atual ainda permanece factível, e ótima Exibe o valor atual do right-hand-side da restrição especificada Tabela: Comandos AMPL para análise de sensibilidade - restrições Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

14 Unindo o modelo aos dados de um problema Seja um problema de programação linear na forma padrão: min c T x Ax = b x j 0 onde A é uma matriz de m linhas e n colunas. Sejam as instâncias para esses problemas: Instância A = Instância 02 A = 0 «2, b = «e c = C A, A, b A e c = B Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36 1, C A

15 Unindo o modelo aos dados de um problema (2) modelo-forma-padrao.mod /* Dimensões */ param n; param m; /* Matrizes e vetores */ param A {i in 1..m, j in 1..n}; param b {i in 1..m}; param c {j in 1..n}; /* Variável de decisão */ var x {j in 1..n}; /* Função objetivo */ minimize objective: sum {j in 1..n} c[j] * x[j]; /* Restrições */ s.t. constrains {i in 1..m}: sum {j in 1..n} A[i,j]*x[j] = b[i]; s.t. domain {j in 1..n}: x[j] >= 0; end; Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

16 Unindo o modelo aos dados de um problema (3) instancia01.dat param n := 4; param m := 2; param A: := ; param b := ; param c := ; end; instancia02.dat param n := 6; param m := 3; param A: := ; param b := ; param c := ; end; Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

17 Resolução do PL representado pela instância 02 Resolvendo o problema pelo tableau simplex: z x 1 x 2 x 3 x 4 x 5 x 6 RHS z x x x Tabela: Iteração 01 z x 1 x 2 x 3 x 4 x 5 x 6 RHS z x x x Tabela: Iteração 02 z x 1 x 2 x 3 x 4 x 5 x 6 RHS z x x x Tabela: Iteração 03 z x 1 x 2 x 3 x 4 x 5 x 6 RHS z x x x Tabela: Iteração 04 Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

18 Resolvendo pelo solver: GLPK $ glpsol -m modelo-forma-padrao.mod -d instancia02.dat -o resultado.sol Reading model section from modelo-padrao.mod lines were read Reading data section from instancia02.dat lines were read Generating objective... Generating constrains... Generating domain... Model has been successfully generated glp_simplex: original LP has 10 rows, 6 columns, 21 non-zeros glp_simplex: presolved LP has 3 rows, 3 columns, 9 non-zeros lpx_adv_basis: size of triangular part = 3 * 0: objval = e+00 infeas = e+00 (0) * 3: objval = e+02 infeas = e+00 (0) OPTIMAL SOLUTION FOUND Time used: 0.0 secs Memory used: 0.1 Mb ( bytes) Um * indica que uma solução básica factível foi encontrada; objval indica o valor atual da função objetivo (que vai melhorando gradativamente); infeas indica a quantidade de infactibilidade (se uma solução factível é encontrada, deve ser zero ou muito pequeno) Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

19 Resolvendo pelo solver: GLPK Verificando o resultado no arquivo de saída resultado.sol $ cat resultado.sol Problem: modelo Rows: 10 Columns: 6 Non-zeros: 21 Status: OPTIMAL Objective: objective = -136 (MINimum) No. Row name St Activity Lower bound Upper bound Marginal objective B constrains[1] NS = constrains[2] NS = constrains[3] NS = domain[1] B domain[2] B domain[3] B domain[4] NL domain[5] NL domain[6] NL No. Column name St Activity Lower bound Upper bound Marginal x[1] B 4 2 x[2] B 4 3 x[3] B 4 4 x[4] B 0 5 x[5] B 0 6 x[6] B 0 Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

20 Interpretando o resultado: GLPK O arquivo de saída gerado pelo glpsol fornece as seguintes informações: Seção 1: O valor ótimo da função objetivo (136) Seção 2: Quais restrições limitaram essa solução (i.e., aquelas marcadas com NL ou NU com seu respectivo custo marginal (i.e., o que acontece no custo da função objetivo se relaxarmos a restrição por uma unidade) Seção 3: Os valores ótimos das variáveis de decisão (4,4,4,0,0,0). Para aquelas que estão no limite de seu domínio, apresenta o custo marginal associado se relaxarmos as restrições de domínio/sinal Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

21 Resolvendo pelo solver: CPLEX/AMPL Iniciando o interpretador AMPL: $ ampl ILOG AMPL , licensed to "universidad-belo horizonte, braz". AMPL Version (Linux EL) ampl: Define modelo, instância, solver e suas configurações, e resolve o modelo instanciado ampl: option solve cplexamp; ampl: option cplex_options sensitivity ; ampl: model modelo-forma-padrao.mod; ampl: data instancia02.dat; ampl: solve; ILOG CPLEX , licensed to "universidad-belo horizonte, braz", options: e m b use=10 CPLEX : sensitivity CPLEX : optimal solution; objective dual simplex iterations (1 in phase I) suffix up OUT; suffix down OUT; suffix current OUT; Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

22 Resolvendo pelo solver: CPLEX/AMPL Exibindo a solução do problema e o valor da função objetivo ampl: display objective, x; objective = -136 x [*] := ; Exibe a solução e os coeficientes da função objetivo (.current) junto com os valores limites (.down e.up) que podemos alterar sem causar uma mudança de base ampl: display x, x.down, x.current, x.up; : x x.down x.current x.up := e e e+20 ; Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

23 Resolvendo pelo solver: CPLEX/AMPL Exibe o valor de folga e shadow price das restrições do problema ampl: display constrains.slack,constrains.dual; : constrains.slack constrains.dual := ; Exibe os coeficientes do right-hand-side (i.e., o vetor de recursos b) junto com os valores em que ele pode ser modificado sem causar uma mudança de base ampl: display constrains.down,constrains.current,constrains.up; : constrains.down constrains.current constrains.up := ; Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

24 Exemplo: O problema da dieta Descrição Objetivo: comprar comida de forma a determinar uma dieta que cumpra com as necessidades nutricionais mínimas Existem 3 opções de comida: maça, pão e doce Uma maça contém 5 unidades de vitamina A, 5 unidades de vitamina B, e 10 unidades de vitamina C Um pão contém 2 unidades de vitamina A, 10 unidades de vitamina B e 1 unidade de vitamina C Um doce contém 3 unidades de vitamina A A quantidade mínima diária requerida de cada vitamina é de 30 unidades de vitamina A, 50 unidades de vitamina B e 30 unidades de vitamina C Cada maça custa R$ 2,00, cada pão custa R$ 1,00 e cada doce custa R$ 0,20 Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

25 Exemplo: O problema da dieta Modelo # Declare sets set Foods; set Nutrients; # Declare variables var quantity{foods} >= 0; # Declare parameters param cost{foods} >= 0; param amount{nutrients, Foods} >= 0; param minimum{nutrients} >= 0; # Objective function minimize obj: sum{j in Foods} cost[j]*quantity[j]; # Declare constraints s.t. minnutr{i in Nutrients}: sum{j in Foods} amount[i,j]*quantity[j] >= minimum[i]; Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

26 Exemplo: O problema da dieta Dados da instância set Foods := apples, breads, candies; set Nutrients := vitamin_a, vitamin_b, vitamin_c; param cost := apples 2 breads 1 candies 0.2; param amount: apples breads candies := vitamin_a vitamin_b vitamin_c ; param minimum := vitamin_a 30 vitamin_b 50 vitamin_c 30; Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

27 Exemplo: O problema da dieta Resultado Programa Linear glpsol Problem: modelo Rows: 4 Columns: 3 Non-zeros: 10 Status: OPTIMAL Objective: obj = (MINimum) No. Row name St Activity Lower bound Upper bound Marginal obj B minnutr[vitamin_a] NL minnutr[vitamin_b] NL minnutr[vitamin_c] NL No. Column name St Activity Lower bound Upper bound Marginal quantity[apples] B quantity[breads] B quantity[candies] B Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

28 Exemplo: O problema da dieta Resultado Programa Inteiro glpsol Problem: modelo Rows: 4 Columns: 3 (3 integer, 0 binary) Non-zeros: 10 Status: INTEGER OPTIMAL Objective: obj = 10.6 (MINimum) No. Row name Activity Lower bound Upper bound obj minnutr[vitamin_a] minnutr[vitamin_b] minnutr[vitamin_c] No. Column name Activity Lower bound Upper bound quantity[apples] * quantity[breads] * quantity[candies] * 3 0 Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

29 Exemplo: O problema da dieta Arquivo dieta.run reset; model dieta.mod; data dieta.dat; option solver cplexamp; solve; display quantity; Execução no AMPL/CPLEX $ ampl < dieta.run $ cat dieta.run ampl Resultado no AMPL/CPLEX $ ampl < dieta.run ILOG AMPL , licensed to "universidad-belo horizonte, braz". AMPL Version (Linux EL) ILOG CPLEX , licensed to "universidad-belo horizonte, braz", options: e m b use=10 CPLEX : optimal integer solution; objective MIP simplex iterations 0 branch-and-bound nodes quantity [*] := apples 3 breads 4 candies 3 ; Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

30 Exemplo: Atribuição de tarefas Descrição do problema Havendo m tarefas e n máquinas aptas a executá-las, determine a atribuição de tarefas à cada máquina de forma a minimizar o custo total de execução. min X X c ij x ij i I j J s.t. X x ij = 1, i I j J X x ij = 1, j J i I x ij 0 Exemplo t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 t 11 t 12 maq maq maq maq Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

31 Exemplo: Atribuição de tarefas Modelo # Define o número de tarefas e máquinas aptas a executá-las param m >= 0; param n >= 0; # Define o conjunto de tarefas e de máquinas set tasks := 1..m; set machines := 1..n; # Tempo que cada máquina leva para executar cada tarefa param t {machines, tasks} >= 0; # Variável de decisão var x {tasks, machines} binary; # Função objetivo minimize time: sum {i in tasks, j in machines} t[j,i] * x[i,j]; # Restrições do modelo subject to constr {i in tasks} : sum{j in machines} x[i,j] = 1; Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

32 Exemplo: Atribuição de tarefas Dados # Número de tarefas param m := 12; # Número de máquinas param n := 4; # Custo, em tempo de execução de cada tarefa por cada máquina param t : := ; Arquivo tarefa.run reset; model tarefa.mod; data tarefa.dat; option solver cplexamp; solve; display x; Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

33 Exemplo: Atribuição de tarefas Resultado no AMPL/CPLEX $ ampl < tarefa.run ILOG AMPL , licensed to "universidad-belo horizonte, braz". AMPL Version (Linux EL) ILOG CPLEX , licensed to "universidad-belo horizonte, braz", options: e m b use=10 CPLEX : optimal integer solution; objective MIP simplex iterations 0 branch-and-bound nodes x [*,*] : := ; maq 1 = t 3, t 6, t 8, t 11 e t 12 maq Solução: 2 = nenhuma tarefa maq 3 = t 1, t 4, t 5, t 7, t 9 e t 10 maq 4 = t 2 Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

34 Exemplo: Atribuição de tarefas Resultado no GLPK Problem: tarefa Rows: 13 Columns: 48 (48 integer, 48 binary) Non-zeros: 96 Status: INTEGER OPTIMAL Objective: time = 703 (MINimum) No. Row name Activity Lower bound Upper bound time constr[1] 1 1 = 3 constr[2] 1 1 = constr[11] 1 1 = 13 constr[12] 1 1 = No. Column name Activity Lower bound Upper bound x[1,1] * x[1,2] * x[1,3] * x[1,4] * x[12,1] * x[12,2] * x[12,3] * x[12,4] * Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

35 Para saber mais... Robert Fourer, David M. Gay and Brian W. Kernighan AMPL: A Mathematical Programming Language. Management Science 36 (1990) Andrew Makhorin. Modeling Language GNU MathProg Language Reference, Draft Edition, for GLPK Version 4.34 David M. Gay Symbolic-Algebraic Computations in a Modeling Language for Mathematical Programming Symbolic Algebraic Methods and Verification Methods (2001) University of Texas Cplex Tutorial Handout Acessado em Maio/ GNU Linear Programming Kit GNU Linear Programming Kit - Modeling Language GNU MathProg, version 4.9. Disponível em Acessado em Maio/2010 Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

36 Para saber mais... ILOG AMPL CPLEX Systems Version User s Guide Disponível em AMPL Student Edition Disponível em AMPL Technical Reference Disponível em Diego Mello da Silva (UFMG) PL Solvers 3 de maio de / 36

Conteúdo GLPK. Notas. Introdução à Otimização, Utilizando o GLPK. Notas. Notas

Conteúdo GLPK. Notas. Introdução à Otimização, Utilizando o GLPK. Notas. Notas Introdução à Otimização Utilizando o GLPK Haroldo Gambini Santos Universidade Federal de Ouro Preto 29 de março de 2011 1 / 30 Conteúdo 1 GLPK 2 Formato LP 3 Formato MathProg 2 / 30 GLPK GNU Linear Programming

Leia mais

Utilizando Solvers para resolver problemas de Programação Linear. Cristopher Moreira da Silva moreira [a] dcc.ufmg.br

Utilizando Solvers para resolver problemas de Programação Linear. Cristopher Moreira da Silva moreira [a] dcc.ufmg.br Utilizando Solvers para resolver problemas de Programação Linear Cristopher Moreira da Silva moreira [a] dcc.ufmg.br Solvers? Software capaz de interpretar modelos e resolver problemas de programação matemática.

Leia mais

Introdução Problema da Mistura Problema da Marcenaria Problema do Transporte. Tutorial AMPL. Daniela Cristina Lubke

Introdução Problema da Mistura Problema da Marcenaria Problema do Transporte. Tutorial AMPL. Daniela Cristina Lubke Tutorial AMPL Daniela Cristina Lubke danielalubke@cos.ufrj.br Universidade Federal do Rio de Janeiro, COPPE, PESC 12 de Maio de 2016 1 Introdução 2 Problema da Mistura Formulação Código 3 Problema da Marcenaria

Leia mais

Métodos Numéricos. MEI - Logística e distribuição Linguagem de modelação AMPL 2004/2005. A. Ismael F. Vaz - Departamento de Produção e Sistemas

Métodos Numéricos. MEI - Logística e distribuição Linguagem de modelação AMPL 2004/2005. A. Ismael F. Vaz - Departamento de Produção e Sistemas Métodos Numéricos MEI - Logística e distribuição Linguagem de modelação AMPL 2004/2005 Métodos Numéricos - MEI 1 AMPL AMPL significa A Mathematical Programming Language. O AMPL é um software comercial,

Leia mais

Investigação Operacional

Investigação Operacional Investigação Operacional versão 1.0 1º semestre 2006/2007 Folhas de cálculo: solver do Excel Cláudio M. Martins Alves Departamento de Produção e Sistemas tel.: 253 604765 Escola de Engenharia Universidade

Leia mais

Softwares de Programação Matemática

Softwares de Programação Matemática Softwares de Programação Matemática Prof. Dr. Claudio Barbieri da Cunha Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Transportes SOFTWARES PARA PROGRAMAÇÃO MATEMÁTICA Pacotes

Leia mais

Aula 07: Análise de sensibilidade (2)

Aula 07: Análise de sensibilidade (2) Aula 07: Análise de sensibilidade (2) Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Previously Aulas anteriores: Dualidade

Leia mais

Aula 10: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Aula 10: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo Aula 10: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br 2018/2 - PCC174/BCC464 Aula Prática - Laboratório COM30!1 Breve Revisão Modelagem Método gráfico O Algoritmo Simplex

Leia mais

Ferramentas de Suporte

Ferramentas de Suporte Cálculo Numérico Módulo I Prof Reinaldo Haas Como estudar Métodos Numéricos? 2 Uso do método numérico Computador Programa Desenvolver Utilizar Verificar validade dos resultados obtidos 3 Programas para

Leia mais

Programação Linear Inteira GNU Linear Programming Kit

Programação Linear Inteira GNU Linear Programming Kit Programação Linear Inteira Eduardo Camargo de Siqueira Pesquisa Operacional Análise e Desenvolvimento de Sistemas CONTEÚDO 1 Introdução 2 3 GLPK. Resolvedor de problemas lineares, incluindo problemas de

Leia mais

Programação Linear Aplicada em Redes de Telecomunicações. Prof. Rodrigo de Souza Couto

Programação Linear Aplicada em Redes de Telecomunicações. Prof. Rodrigo de Souza Couto Programação Linear Aplicada em Redes de Telecomunicações Prof. Rodrigo de Souza Couto FERRAMENTA PARA SOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR: GLPK 2 Nota de direito autoral Algumas partes deste slides

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS Rosiana da Silva Lopes Danilo César Rodrigues Azevedo rosianalopes16@gmail.com danilo.azevedo@ufpi.edu.br.com

Leia mais

GAMS Guia de utilização

GAMS Guia de utilização GAMS Guia de utilização O GAMS (General Algebraic Modeling System) é um ambiente para otimização que fornece interface para vários algoritmos. Os modelos são fornecidos pelo usuário em um arquivo de entrada

Leia mais

PCC173 - Otimização em Redes

PCC173 - Otimização em Redes PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 15 de maio de 2017 Marco Antonio M. Carvalho

Leia mais

Construção de Modelos de Otimização e Ferramentas Computacionais

Construção de Modelos de Otimização e Ferramentas Computacionais Construção de Modelos de Otimização e Ferramentas Computacionais Socorro Rangel DMAp Departamento de Matemática Aplicada e-mail: socorro@ibilce.unesp.br http://www.ibilce.unesp.br/#!/departamentos/matematica-aplicada/docentes

Leia mais

Aula 22: Formulações com número exponencial de variáveis

Aula 22: Formulações com número exponencial de variáveis Aula 22: Formulações com número exponencial de variáveis Otimização Linear e Inteira Túlio Toffolo http://www.toffolo.com.br BCC464 / PCC174 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Correção

Leia mais

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Meio pelo qual se pode indicar os passos que devem ser realizados pelo computador para resolver problemas; Através da linguagem,

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464 / PCC174 Departamento de Computação - UFOP Breve Revisão Programação Linear vs Programação Inteira Modelagem

Leia mais

Resolvendo algebricamente um PPL

Resolvendo algebricamente um PPL Capítulo 6 Resolvendo algebricamente um PPL 6.1 O método algébrico para solução de um modelo linear A solução de problemas de programação linear com mais de duas variáveis, não pode ser obtida utilizando-se

Leia mais

Vânio Correia Domingos Massala

Vânio Correia Domingos Massala Optimização e Decisão 06/0/008 Método do Simplex Vânio Correia - 5567 Domingos Massala - 58849 INSTITUTO SUPERIOR TÉCNICO Generalidades do Método do Simplex Procedimento algébrico iterativo para resolver

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA

Leia mais

Estudo e modelagem de soluções de otimização discreta para grades horárias

Estudo e modelagem de soluções de otimização discreta para grades horárias Instituto de Matemática e Estatística - IME/USP Universidade de São Paulo Estudo e modelagem de soluções de otimização discreta para grades horárias Trabalho de Conclusão do Curso de Bacharelado em Ciência

Leia mais

Programação Linear. (3ª parte) Informática de Gestão Maria do Rosário Matos Bernardo 2016

Programação Linear. (3ª parte) Informática de Gestão Maria do Rosário Matos Bernardo 2016 Programação Linear (3ª parte) Informática de Gestão 61020 Maria do Rosário Matos Bernardo 2016 Conteúdos Excel Solver Instalação do Solver Resolução de problemas de programação linear Problema de minimização

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

Índice. Prefácio Os modelos de programação linear e a investigação operacional 17

Índice. Prefácio Os modelos de programação linear e a investigação operacional 17 Índice Prefácio 13 Capítulo 1 Introdução 1. Os modelos de programação linear e a investigação operacional 17 2. O problema de programação linear 18 2.1. O problema de programação linear em substituição

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

UTILIZAÇÃO DE SOFTWARES NA PESQUISA OPERACIONAL USING SOFTWARE IN OPERATIONAL RESEARCH

UTILIZAÇÃO DE SOFTWARES NA PESQUISA OPERACIONAL USING SOFTWARE IN OPERATIONAL RESEARCH 152 UTILIZAÇÃO DE SOFTWARES NA PESQUISA OPERACIONAL USING SOFTWARE IN OPERATIONAL RESEARCH Denise Helena Lombardo Ferreira, Orientadora Carolina Baron, carolina.b2@puccamp.edu.br Pontifícia Universidade

Leia mais

Linguagens de Programação

Linguagens de Programação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.

Leia mais

INVESTIGAÇÃO OPERACIONAL. Programação Linear. Exercícios. Cap. IV Modelo Dual

INVESTIGAÇÃO OPERACIONAL. Programação Linear. Exercícios. Cap. IV Modelo Dual INVESTIGAÇÃO OPERACIONAL Programação Linear Exercícios Cap. IV Modelo Dual António Carlos Morais da Silva Professor de I.O. i Cap. IV - Modelo Dual - Exercícios IV. Modelo Problema Dual 1. Apresente o

Leia mais

Programação Linear Aplicada em Redes de Telecomunicações. Prof. Rodrigo de Souza Couto

Programação Linear Aplicada em Redes de Telecomunicações. Prof. Rodrigo de Souza Couto Programação Linear Aplicada em Redes de Telecomunicações Prof. Rodrigo de Souza Couto Informações Gerais Prof. Rodrigo de Souza Couto E-mail: rodsouzacouto@ieee.org Página da disciplina: http://www.lee.eng.uerj.br/~rodrigo/proglin

Leia mais

Frequência / Exame de 1. a Época

Frequência / Exame de 1. a Época ISCTE - Instituto Universitário de Lisboa Licenciaturas: Gestão, Finanças e Contabilidade, Gestão e Engenharia Industrial, Marketing e Economia Frequência / Exame de 1. a Época OPTIMIZAÇÃO / MATEMÁTICA

Leia mais

Programação de Computadores:

Programação de Computadores: Instituto de C Programação de Computadores: Introdução a Linguagens de Programação Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Seis Camadas Problema

Leia mais

Introdução ao Python. Programa Computacional

Introdução ao Python. Programa Computacional Programa Computacional É um algoritmo escrito em uma linguagem computacional (C, Fortran, Pascal, MATLAB, Python, etc.). É a tradução do algoritmo para uma linguagem que será interpretada pelo computador.

Leia mais

Notas 1 / 17. Notas 2 / 17. Notas

Notas 1 / 17. Notas 2 / 17. Notas Programação Linear Inteira Introdução II Haroldo Gambini Santos Universidade Federal de Ouro Preto 30 de agosto de 2011 1 / 17 Conteúdo 1 Introdução 2 Algoritmo Simplex 3 Modelagem 2 / 17 Algoritmo Simplex

Leia mais

Estruturas de Sistemas Operacionais

Estruturas de Sistemas Operacionais Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema

Leia mais

Pedro Tiago Barbosa do Couto. Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO

Pedro Tiago Barbosa do Couto. Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO Pedro Tiago Barbosa do Couto Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE ENGENHARIA ELÉTRICA Programa de Pós graduação

Leia mais

Introdução aos algoritmos computacionais

Introdução aos algoritmos computacionais CAPíTULO 1 Introdução aos algoritmos computacionais é um procedimento que descreve, sem ambiguidade, uma sequência nita de passos a serem seguidos em uma ordem especíca para resolver um problema ou aproximar

Leia mais

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana Otimização Linear Profª : Adriana Departamento de Matemática adriana@fc.unesp.br wwwp.fc.unesp.br/~adriana Revisão Método Simplex Solução básica factível: xˆ xˆ, xˆ N em que xˆ N 0 1 xˆ b 0 Solução geral

Leia mais

Aula 12: Programação Inteira

Aula 12: Programação Inteira Aula 12: Programação Inteira Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Programação Inteira: A Formulação

Leia mais

1_1 1_2 2_1 1_ _ _ Fonte: Autor

1_1 1_2 2_1 1_ _ _ Fonte: Autor 75 7. Resultados Os resultados aqui apresentados utilizam o modelo proposto na Seção 6.2, resolvido através do software de otimização AIMMS para os problemas com Datas prometidas. Já para o problema sem

Leia mais

Aula 02: Algoritmo Simplex (Parte 1)

Aula 02: Algoritmo Simplex (Parte 1) Aula 02: Algoritmo Simplex (Parte 1) Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Slides baseados no material de Haroldo Gambini Previously... Aula anterior:

Leia mais

Prova I - Pesquisa Operacional - 12/05/2011. nome:

Prova I - Pesquisa Operacional - 12/05/2011. nome: nome: )[.0] Uma empresa recebeu um pedido para produzir 6000 peças. A empresa pode produzir a peça em máquinas que possuem capacidades e precisões diferentes. A empresa deve entregar o pedido em 8 dias

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo

Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info Observações O conteúdo dessa aula é parcialmente proveniente do Capítulo 11 do livro Fundamentals of

Leia mais

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Primeiro computador a válvulas, o Eletronic Numeric Integrator And

Leia mais

Unidade: Modelo Simplex e Modelo Dual. Unidade I:

Unidade: Modelo Simplex e Modelo Dual. Unidade I: Unidade: Modelo Simplex e Modelo Dual Unidade I: 0 Unidade: Modelo Simplex e Modelo Dual Segundo Wikipédia (2008), em teoria da otimização matemática, o algoritmo simplex de George Dantiz é uma técnica

Leia mais

Métodos Numéricos. MEI - Logística e distribuição Programação quadrática sequencial 2004/2005. A. Ismael F. Vaz - Departamento de Produção e Sistemas

Métodos Numéricos. MEI - Logística e distribuição Programação quadrática sequencial 2004/2005. A. Ismael F. Vaz - Departamento de Produção e Sistemas Métodos Numéricos MEI - Logística e distribuição Programação quadrática sequencial 2004/2005 Métodos Numéricos - MEI 1 Motivação Considere-se o seguinte exemplo de um problema de minimização com restrições

Leia mais

Linguagens de Programação

Linguagens de Programação O estudante estuda muito. Regras: 7 9 12 14. . Regras: 2 4 . Regras: 1 Representar através de uma árvore de derivação. 77 O estudante estuda muito.

Leia mais

Programação Linear - Parte 3

Programação Linear - Parte 3 Matemática Industrial - RC/UFG Programação Linear - Parte 3 Prof. Thiago Alves de Queiroz 1/2016 Thiago Queiroz (IMTec) Parte 3 1/2016 1 / 26 O Método Simplex Encontre o vértice ótimo pesquisando um subconjunto

Leia mais

Investigação Operacional I. Guia de Utilização do Software. José Manuel Vasconcelos Valério de Carvalho. Universidade do Minho

Investigação Operacional I. Guia de Utilização do Software. José Manuel Vasconcelos Valério de Carvalho. Universidade do Minho Investigação Operacional I Guia de Utilização do Software José Manuel Vasconcelos Valério de Carvalho Universidade do Minho 2003 Guia de Utilização do Software Este documento apresenta diversas informações

Leia mais

Branch-and-Bound para problemas de Otimização Combinatória

Branch-and-Bound para problemas de Otimização Combinatória para problemas de Otimização Combinatória Rafael Antônio Marques Gomes Orientador: Haroldo Gambini Santos Departamento de Computação UFOP 26 de julho de 2011 Rafael Antônio Marques Gomes BB para problemas

Leia mais

Gauss-Seidel para Solução de Sistemas com Matrizes Banda Usando Armazenamento Especial

Gauss-Seidel para Solução de Sistemas com Matrizes Banda Usando Armazenamento Especial Universidade Federal do Espírito Santo Departamento de Informática Algoritmos Numéricos 2016/2 Profa. Claudine Badue Trabalho 1 Objetivos Gauss-Seidel para Solução de Sistemas com Matrizes Banda Usando

Leia mais

Ferramentas Programação. UDESC - Prof. Juliano Maia 1

Ferramentas Programação. UDESC - Prof. Juliano Maia 1 Ferramentas Programação UDESC - Prof. Juliano Maia 1 Índice Seção 1 Linguagens de Programação Seção 2 Interpretador Seção 3 Compilador / Linkeditor Seção 4 Ambientes de Desenvolvimento UDESC - Prof. Juliano

Leia mais

Definir e resolver um problema usando o Solver

Definir e resolver um problema usando o Solver Página 1 de 5 Excel > Analisando dados > Teste de hipóteses Definir e resolver um problema usando o Solver Mostrar tudo O Solver faz parte de um pacote de programas algumas vezes chamado de ferramentas

Leia mais

Algoritmos Exatos 3.1. Relaxação Lagrangeana

Algoritmos Exatos 3.1. Relaxação Lagrangeana 3 Algoritmos Exatos Nesse capítulo, apresenta-se alguns algoritmos exatos para o CVRP que são baseados em diferentes técnicas e formulações para a obtenção de limites inferiores para a solução ótima do

Leia mais

Sistema Computacional

Sistema Computacional Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes reinaldo@cefet-al.br O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.

Leia mais

Curso: Especialização em Engenharia de Processos e de Sistemas de Produção - Prof. Lorí Viali, Dr. PUCRS FAMAT: Departamento de Estatística

Curso: Especialização em Engenharia de Processos e de Sistemas de Produção - Prof. Lorí Viali, Dr. PUCRS FAMAT: Departamento de Estatística A influência dos desejos dos vendedores da planilha reflete-se na maneira que o Solver determina se o modelo é linear ou não linear. Por default o Solver assume que o modelo é não linear. Desde sua introdução

Leia mais

Noções de sistemas de computação

Noções de sistemas de computação Noções de sistemas de computação Software Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) Programas Programas são seqüências de instruções

Leia mais

TP052-PESQUISA OPERACIONAL I Algoritmo Dual Simplex. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil

TP052-PESQUISA OPERACIONAL I Algoritmo Dual Simplex. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP052-PESQUISA OPERACIONAL I Algoritmo Dual Simplex Prof. Volmir Wilhelm Curitiba, Paraná, Brasil Algoritmo Dual Simplex Motivação max sa Z = cx Ax = b x 0 escolhida uma base viável max sa Z = c B x B

Leia mais

INTRODUÇÃO AO AMBIENTE GAMS. Ambiente para modelagem e otimização

INTRODUÇÃO AO AMBIENTE GAMS. Ambiente para modelagem e otimização AO AMBIENTE GAMS Ambiente para modelagem e otimização SUMÁRIO 1) 2) EM GAMS 3) DE MODELAGEM GAMS 4) 5) : Linear Programming (LP) : Nonlinear Programming (NLP) : Mixed Integer Nonlinear Programming (MINLP)

Leia mais

Ajuste de Splines a um Conjunto de Dados

Ajuste de Splines a um Conjunto de Dados Ajuste de Splines a um Conjunto de Dados Reginaldo J. Santos Departamento de Matemática-ICE Universidade Federal de Minas Gerais http://www.mat.ufmg.br/~regi regi@mat.ufmg.br 7 de junho de Seja C (I) o

Leia mais

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016 Método Simplex dual Marina Andretta ICMC-USP 24 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização

Leia mais

Introdução à Programação de Computadores Fabricação Mecânica

Introdução à Programação de Computadores Fabricação Mecânica Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 04 - Linguagens de Programação, Interpretador, compilador

Leia mais

PESQUISA OPERACIONAL Introdução. Professor Volmir Wilhelm Professora Mariana Kleina

PESQUISA OPERACIONAL Introdução. Professor Volmir Wilhelm Professora Mariana Kleina PESQUISA OPERACIONAL Introdução Professor Volmir Wilhelm Professora Mariana Kleina PESQUISA OPERACIONAL Ementa Revisão de Álgebra Linear. Modelos de Programação Linear. O Método Simplex. O Problema do

Leia mais

Programação Linear e Inteira, Introdução

Programação Linear e Inteira, Introdução Programação Linear e Inteira Introdução Haroldo Gambini Santos Universidade Federal de Ouro Preto 15 de agosto de 2010 1 / 25 Conteúdo 1 Introdução 2 Pesquisa Operacional 3 Prob. da Dieta 4 Método Gráco

Leia mais

Aula 13: Branch-and-bound

Aula 13: Branch-and-bound Aula 13: Branch-and-bound Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Previously... Modelagem em PI / Problemas Combinatórios

Leia mais

Figura 4.1: Rede hipotética - rede bidirecional com 6 nós e 8 enlaces

Figura 4.1: Rede hipotética - rede bidirecional com 6 nós e 8 enlaces 4. SIMULAÇÕES Para exemplificarmos e comprovarmos a eficácia dos algoritmos de roteamento e alocação de comprimentos de onda em uma rede óptica, visando minimizar o custo total, várias simulações foram

Leia mais

Programação de Máquinas Machine Scheduling. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 3 modelos

Programação de Máquinas Machine Scheduling. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 3 modelos Programação de Máquinas Machine Scheduling Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 3 modelos M7.1 - Sequenciamento em máquinas paralelas e iguais Suponha que

Leia mais

Programação por restrições. Luiz Henrique Cherri Thiago Queiroz

Programação por restrições. Luiz Henrique Cherri Thiago Queiroz Programação por restrições Luiz Henrique Cherri Thiago Queiroz Relembrando Solvers de programação por restrições Comerciais IBM ILOG CP SCIP* Livres Google or/tools Choco solver Baseados em PROLOG (como

Leia mais

5 Análise de Sensibilidade

5 Análise de Sensibilidade MAC-35 - Programação Linear Primeiro semestre de 00 Prof. Marcelo Queiroz http://www.ime.usp.br/~mqz Notas de Aula 5 Análise de Sensibilidade Neste capítulo consideramos o problema de programação linear

Leia mais

DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes

DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes Agosto/2013 Problemas de roteirização e programação de veículos (RPV) Objetivo geral: Determinar rotas de

Leia mais

Estudo e modelagem de soluções de otimização discreta para grades horárias

Estudo e modelagem de soluções de otimização discreta para grades horárias Instituto de Matemática e Estatística - IME/USP Universidade de São Paulo Estudo e modelagem de soluções de otimização discreta para grades horárias Trabalho de Conclusão do Curso de Bacharelado em Ciência

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

Programação Linear. (4ª parte) Informática de Gestão Maria do Rosário Matos Bernardo 2016

Programação Linear. (4ª parte) Informática de Gestão Maria do Rosário Matos Bernardo 2016 Programação Linear (4ª parte) Informática de Gestão 61020 Maria do Rosário Matos Bernardo 2016 Conteúdos Análise de sensibilidade Relatório de reposta Relatório de sensibilidade Relatório de limites Desafio:

Leia mais

IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL

IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL 1. INTRODUÇÃO Este tutorial apresenta, passo-a-passo, o processo de implementação e resolução de modelos matemáticos na planilha

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

Linguagens de Domínio Específico

Linguagens de Domínio Específico Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e

Leia mais

Pesquisa Operacional

Pesquisa Operacional Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 5 Modelo da Designação Fernando Marins fmarins@feg.unesp.br Departamento de Produção

Leia mais

Programação Linear. Dual Simplex: Viabilidade Dual Método Dual Simplex

Programação Linear. Dual Simplex: Viabilidade Dual Método Dual Simplex Programação Linear Dual Simplex: Viabilidade Dual Viabilidade Dual Considere o par de problemas primal (P) dual (D). Agora já sabemos como encontrar a solução de um desses PPL a partir da solução do outro.

Leia mais

Introdução à Computação

Introdução à Computação Universidade Federal do Maranhão Curso de Química Departamento de Informática Introdução à Computação Linguagem Fortran Profa. Msc. Maria Auxiliadora Freire maria@deinf.ufma.br 1 Lógica de Programação

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 17 de novembro de 2011 Aula Prática Instalação Fortran sudo apt-get install

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 4 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 4 Construção de programas Actividades de teste

Leia mais

Code: Luiza Rodrigues Matos, Daisy Paes Silva, Edilaine Martins Soler. Universidade Estadual Paulista "Júlio de Mesquita Filho" (UNESP)

Code: Luiza Rodrigues Matos, Daisy Paes Silva, Edilaine Martins Soler. Universidade Estadual Paulista Júlio de Mesquita Filho (UNESP) A Comparison Between the Efficiency of the Outer Approximation Method and the Branch-and-Bound Method to Solve the Optimal Power Flow Problem with Discrete Control Variables Code: 19.024 Luiza Rodrigues

Leia mais

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. O uso do computador Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. Exemplos: Modelos meteorológicos. Cálculo estrutural.

Leia mais

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana Otimização Linear Profª : Adriana Departamento de Matemática adriana@fc.unesp.br wwwp.fc.unesp.br/~adriana Forma geral de um problema Em vários problemas que formulamos, obtivemos: Um objetivo de otimização

Leia mais

Algoritmo para o Método Simplex:

Algoritmo para o Método Simplex: Algoritmo para o Método Simplex: Passo 1: Introduzir as variáveis de folga, uma para cada desigualdade; Passo 2: Montar um quadro para os cálculos, colocando os coeficientes de todas as variáveis com os

Leia mais

Capítulo 1. Aspectos Preliminares

Capítulo 1. Aspectos Preliminares Capítulo 1 Aspectos Preliminares Tópicos do Capítulo 1 Razões para estudar conceitos de linguagens de programação Domínios de programação Critérios de avaliação de linguagens Influências no projeto de

Leia mais

TP052-PESQUISA OPERACIONAL I Introdução. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil

TP052-PESQUISA OPERACIONAL I Introdução. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP052-PESQUISA OPERACIONAL I Introdução Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP052-PESQUISA OPERACIONAL I Ementa Revisão de Álgebra Linear. Modelos de Programação Linear. O Método Simplex. O Problema

Leia mais

Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação

Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação Anais do CNMAC v.2 ISSN 1984-820X Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação Dependente da Seqüência de

Leia mais

Quinta-feira, 11 de abril

Quinta-feira, 11 de abril 15.053 Quinta-feira, 11 de abril Mais alguns exemplos de programação inteira Técnicas de planos de corte para obter melhores limitações Entregar: Observações de Aula 1 Exemplo: Localização do corpo de

Leia mais

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG Instalação JDK Joyce França Professora de Ciência da Computação - IFNMG Máquina Virtual Java utiliza-se do conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação,

Leia mais