21
1 Modelos em Programação Matemática Resolução de um Modelo em Programação Matemática Software Fico- Xpress Problema Modelo Resolução Xpress – Mosel (Linguagem algébrica de Modelação) Xpress – MP Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre Módulo de Logística Docente : Maria da Conceição da Fonseca

Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site Mestrado em Matemática Aplicada à Economia e Gestão

  • Upload
    vuphuc

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

1

Modelos em Programação Matemática

Resolução de um Modelo em Programação Matemática

Software Fico- Xpress

Problema

Modelo

Resolução

Xpress – Mosel (Linguagem algébrica de Modelação)

Xpress – MP

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 2: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

2

Para obter uma cópia do Xpress- MP para estudantes ir ao site

https://community.fico.com/download.jspa

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 3: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

3

Esquema Geral de um programa em linguagem Mosel

model “nome do modelo”

uses “mmxprs” ! Indica que se usa o XPRESS_OPTIMIZER para resolver o problema

declarations

! Bloco onde se definem constantes, vectores e varáveis do modelo

end-declarations

! Dados relativos ao problema a resolver

! Definição da função objectivo, das restrições do modelo e do domínio de variação das

! variáveis do modelo

! Resolver do problema

! Imprimir a solução

end-model

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 4: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

4

Variáveis do modelo

As variáveis são do tipo mpvar

Por defeito o Mosel assume que as variáveis do modelo são ≥ 0

Para definir uma variável X do tipo mpvar como binária escrever

X is_binary

Para definir uma variável X do tipo mpvar como inteira escrever

X is_integer

Resolver o problema

Para maximizar a função objectivo f_obj escrever maximize(f_obj)

Para minimizar a função objectivo f_obj escrever minimize(f_obj)

Imprimir a solução

Para imprimir a solução usar o comando writeln ou write. No primeiro caso há

mudança automática de linha

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 5: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

5

getobjval : indica o valor ótimo da função objetivo

getsol() : indica o valor ótimo das variáveis do modelo

Funções da linguagem Mosel para obter o valor ótimo e a solução ótima

Alguns tipos de Dados real tipo real

integer tipo inteiro

string cadeia de carateres

array vetor ou matriz

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 6: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

6

A primeira fase da produção de mesas e cadeiras numa fábrica de mobiliário é realizada nas secções de corte, polimento e montagem. Cada mesa necessita de 5 horas na secção de corte, 4 horas na de polimento e 3h na montagem, enquanto que cada cadeira necessita de 2h, 3h e 4h respetivamente. Numa determinada semana a fábrica tem disponíveis 270h na secção de corte, 250h na de polimento e 200h na de montagem. O lucro obtido é de 100 euros por mesa e 60 euros por cadeira. Pretende-se determinar quantas mesas e cadeiras devem ser fabricadas de forma a que o lucro total seja máximo.

1 2

1 2

1 2

1 2

1 2

max 100 60

s.a 5 2 270

4 3 250

3 4 200

, 0

z x x

x x

x x

x x

x x

1

2

número de mesas produzidas na semana

número de cadeiras produzidas na semana

x

x

Exemplo 1

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 7: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

7

Solução: LUCRO: 5671.43 X1= 48.5714 X2= 13.5714

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 8: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

8

Solução: LUCRO = 5640 x(1) = 48 x(2) = 14

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 9: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

9

Problema de Localização

Exemplo 2

Uma empresa que comercializa refrigerantes pretende determinar onde instalar armazéns para fazer a posterior distribuição por 5 cidades. Conhece-se a procura (em lotes) em cada uma das cidades, os custos de instalação em cada um dos 4 potenciais locais disponíveis para a construção dos armazéns e os custos de transporte de cada lote entre os armazéns e as cidades. Assume-se que podemos construir armazéns com a capacidade necessário, isto é, considera-se que a capacidade não é restritiva.

n =4, m = 5

[dj] = [11,10,10, 9] Procura

[fi ] = [500,500,500,500,500] Custos de instalação

ij

68 54 92 92

95 67 54 68

c 54 90 60 88

86 62 85 57

77 55 70 84

1

2

3

4

1

2

3

4

d1

d2

d3

d4

locais

cidades

5

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 10: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

10

• Modelo:

1 um armazém é construído no local

0 no caso contrário i

iy

quantidade enviada do armazém em

para satisfazer a procura em

ijx i

j

1 1 1

1

1

min f c

d 1, ,

1, ,

0 1, ,

{0,1} 1, ,

m m n

i i ij iji i j

m

ij ji

n

ij ij

ij

i

y x

x j n

x Dy i m

x j n

y i m

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 11: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

11 Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 12: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

12

1

2

3

4

1

2

3

4

d1

d2

d3

d4

locais cidades

5

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 13: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

13

Leitura dos dados a partir do ficheiro loc_data.txt

d : [ 11, 10, 10, 9 ]

f: [ 500,500,500,500,500 ]

c: [ 68, 54, 92, 92,

95, 67, 54, 68,

54, 90, 60, 88,

86, 62, 85, 57,

77, 55, 70, 84 ]

Em vez de escrever os dados no programa escrever a instrução

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 14: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

14

Problema de Planeamento de Produção

Exemplo 3

Uma empresa produz vários tipos de bicicletas. Pretende-se determinar o plano de produção do tipo H-T de bicicletas de corrida que requer um tipo especial de materiais e equipamento de produção. Produz-se apenas um lote por mês devido à pouca procura e a importantes economias de escala nos custos de manufatura. O custo de produzir cada bicicleta H-T é de 100 euros. As restrições de capacidade são ignoradas no planeamento de produção deste produto porque os trabalhadores são distribuídos pelas várias variantes de bicicletas produzidas na empresa e porque a capacidade pode ser aumentada contratando temporariamente trabalhadores se necessário. Devido à necessidade de instalar equipamento especial e ferramentas no início da produção de cada lote existe um elevado custo de set-up. O custo fixo de set-up é de 5000 euros. A procura deste tipo de bicicletas é irregular, sendo maior na Primavera e no Verão. As previsões de vendas deste tipo de bicicletas encontra-se na tabela seguinte:

Jan Fev Mar Abril Maio Jun Jul Ago Set Out Nov Dez

400 400 800 800 1200 1200 1200 1200 800 800 400 400

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 15: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

15

No fim do corrente ano estarão em armazém 200 bicicletas de corrida do tipo H-T. Cada bicicleta em armazém tem um custo de armazenamento de 5 euros que inclui o custo de armazenamento e de capital investido. O espaço em armazém é ilimitado.

O gerente da empresa quer determinar os níveis de produção e de stock deste tipo particular de bicicletas de modo a satisfazer a procura e minimizar os custos totais (Custos de produção + custos de armazenamento).

Pretende fazer o plano de produção para o próximo ano até ao fim do período em que há uma maior procura de bicicletas, isto é, até ao fim de Agosto.

Horizonte temporal do planeamento de produção

De Janeiro a Agosto, dividido em períodos de um mês

Número de períodos do horizonte temporal: 8

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 16: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

16

Modelo Matemático

número de períodos do horizonte temporal

períodos do horizonte temporal 1,...,

NT

T NT

: bicicletas produzidas no período : bicicletas que ficam em armazém no início do período

1 se se produzem bicicletas no período t

0 caso contrário

t

t

t

x t Ts t T

y

t T

variáveis

: custo de produção: custo de : custo de armazenamento: procura de bicicletas no período t

pq set - uphd t T

parâmetros

Neste caso 8NT

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 17: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

17

1 1 1

1

0

min

. . d 1, ,

s 200

1, ,

{0,1}, 0, 0 1, ,

NT NT NT

t t tt t t

t t t t

NT

t k tk t

t t t

px qy hs

s a s x s t NT

x d y t NT

y x s t NT

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 18: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

18

Modelo em Linguagem Mosel

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 19: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

19 Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 20: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

20

custo total 736000 Period 1: prod 600 (demand: 400, unit cost: 100), setup 1 (cost: 5000, stock: 400) Period 2: prod 0 (demand: 400, unit cost: 100), setup 0 (cost: 5000, stock: 0) Period 3: prod 1600 (demand: 800, unit cost: 100), setup 1 (cost: 5000, stock: 800) Period 4: prod 0 (demand: 800, unit cost: 100), setup 0 (cost: 5000, stock: 0) Period 5: prod 1200 (demand: 1200, unit cost: 100), setup 1 (cost: 5000, stock: 0) Period 6: prod 1200 (demand: 1200, unit cost: 100), setup 1 (cost: 5000, stock: 0) Period 7: prod 1200 (demand: 1200, unit cost: 100), setup 1 (cost: 5000, stock: 0) Period 8: prod 1200 (demand: 1200, unit cost: 100), setup 1 (cost: 5000, stock: 0)

OUTPUT

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca

Page 21: Modelos em Programação Matemática · 2 Para obter uma cópia do Xpress- MP para estudantes ir ao site  Mestrado em Matemática Aplicada à Economia e Gestão

21

Escrita num ficheiro de dados

fopen('data.txt', F_INPUT) forall (t in T) read(DEMAND(t)) readln readln(SETUPCOST) readln(PRODCOST) readln(INVCOST) readln(STOCKINI) fclose(F_INPUT)

Ficheiro data-.xt 400 400 800 800 1200 1200 1200 1200 5000 100 5 200

Leitura a partir de um ficheiro

Mestrado em Matemática Aplicada à Economia e Gestão - Logística e Gestão de Operações 1º Ano 2º Semestre

Módulo de Logística Docente : Maria da Conceição da Fonseca