1 Introdução à Otimização: Programação Linear Marcone Jamilson Freitas Souza Departamento de...
329
1 Introdução à Otimização: Programação Linear Marcone Jamilson Freitas Souza Departamento de Computação Programa de Pós-Graduação em Ciência da Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/prof/marcone E-mail: [email protected]
1 Introdução à Otimização: Programação Linear Marcone Jamilson Freitas Souza Departamento de Computação Programa de Pós-Graduação em Ciência da Computação
1 Introduo Otimizao: Programao Linear Marcone Jamilson Freitas
Souza Departamento de Computao Programa de Ps-Graduao em Cincia da
Computao Universidade Federal de Ouro Preto
http://www.decom.ufop.br/prof/marcone E-mail:
[email protected]
Slide 2
2 Roteiro Otimizao Introduo Motivao Modelagem em Programao
Matemtica Programao Linear: princpios bsicos Programao Linear por
Metas (Goal programming) Programao Inteira: princpios bsicos
Softwares de Otimizao: LINGO / COIN-CLP / GLPK / CPLEX Heursticas
computacionais para otimizao Conceitos bsicos Heursticas
construtivas Heursticas clssicas de refinamento Metaheursticas
Simulated Annealing Variable Neighborhood Search (VNS) Iterated
Local Search (ILS) Algoritmos Genticos Aplicaes de tcnicas de
otimizao a processos produtivos: Alocao dinmica de caminhes
Planejamento da produo, Controle de Ptio de Minrios Corte de
Estoque (Cutting Stock) Seleo de projetos
Slide 3
3 Otimizao rea da Pesquisa Operacional que utiliza o mtodo
cientfico para apoiar a tomada de decises, procurando determinar
como melhor projetar e operar um sistema, usualmente sob condies
que requerem a alocao de recursos escassos. Trabalha com modelos
determinsticos As informaes relevantes so assumidas como conhecidas
(sem incertezas) Aplicaes tpicas: Mistura de minrios Planejamento
da produo Roteirizao Escala de pessoal
5 Problema de Roteamento de Veculos (Vehicle Routing Problem) 3
4 5 2 6 7 9 11 (9) (12) (13) (4) (10) [50] (10) (7) (10) (5) (10)
(3) (10) 13 15 14 8 10 12 16 Dentre todas as possveis roteirizaes,
determine aquela que minimiza a distncia total percorrida
Slide 6
6 Escala de Motoristas (Crew Scheduling) 1 2 3
Slide 7
7 1 2 3
Slide 8
8 1 2 3
Slide 9
9 1 2 3
Slide 10
10 Escala de Motoristas (Crew Scheduling) 1 2 3
Slide 11
11 Escala de Motoristas (Crew Scheduling) 1 2 3 Reduo de um
tripulante!
Slide 12
12 INTRODUO Montar uma tabela de jogos entre os times
participantes de uma competio esportiva Satisfazer as restries da
competio Minimizar os custos relativos ao deslocamento dos times
Programao de jogos de competies esportivas (Sports
timetabling)
Slide 13
13 Vitria x Atltico | Grmio x Atltico | Atltico x Santos
Distncia total percorrida: 6760 Km Atltico x Vitria | Grmio x
Atltico | Atltico x Santos Distncia total percorrida: 5382 Km
Economia = 1378 Km (1) (2) INTRODUO Programao de jogos de competies
esportivas (Sports timetabling) Santos Grmio Atltico Vitria 1372Km
3090Km 1712Km 586Km 1 2 3 3 Grmio Santos Atltico Vitria 1 2 3 3
1712Km 1712Km 1372Km 586Km
Slide 14
14 JUSTIFICATIVA DO TRABALHO Gastos com deslocamento Influncia
no desempenho dos times Enquadra-se na classe de problemas
NP-difceis Nmero de tabelas possveis para uma competio envolvendo n
times confrontando-se entre si em turnos completos (Conclio &
Zuben (2002)): Competio com 20 participantes: 2,9062x10 130 tabelas
possveis (aprox. 10 114 anos para analisar todas as tabelas em um
computador que analisa uma tabela em 10 -8 segundos) Programao de
jogos de competies esportivas (Sports timetabling)
Slide 15
15 PROBLEMA ABORDADO 1 Diviso do Campeonato Brasileiro de
Futebol 2004, 2005 e 2006 2 Diviso do Campeonato Brasileiro de
Futebol 2006 Competies realizadas em dois turnos completos e
espelhados Restries do problema 1. Dois times jogam entre si duas
vezes, uma no turno e a outra no returno, alternando-se o mando de
campo entre os mesmos 2. Nas duas primeiras rodadas de cada turno,
cada time alternar seus jogos, sendo um em casa e o outro na casa
do adversrio. Por ex.: 1 fora, 2 em casa 3. As duas ltimas rodadas
de cada turno devem ter a configurao inversa das duas primeiras
rodadas de cada turno com relao ao mando de campo. Ex.: Penltima em
casa, ltima fora 4. No pode haver jogos entre times do mesmo estado
na ltima rodada 5. A diferena entre os jogos feitos em cada turno
em casa e fora de casa de um time no pode ser maior que uma unidade
6. Um time no pode jogar mais que duas vezes consecutivas dentro ou
fora de casa Programao de jogos de competies esportivas (Sports
timetabling)
Slide 16
16 RESULTADOS COMPUTACIONAIS Melhores solues obtidas pelos
mtodos Economia possvel: Considerando o custo do quilmetro areo a
R$0,70 Delegao de 20 pessoas Campeonatos 2004 e 2005, Srie A:
Aprox. R$ 2 milhes Campeonato 2006, Srie A: Aprox. R$ 1 milho
Campeonato 2006, Srie B: Aprox. R$ 500 mil Programao de jogos de
competies esportivas (Sports timetabling)
Slide 17
17 Controle de Ptio de Minrios Aplicao na mina Cau, Itabira
(MG), da CVRD 3 ptios de estocagem de minrios Minrios empilhados em
balizas Pilhas formadas por subprodutos com composio qumica e
granulomtrica diferentes Objetivo compor um lote de vages ( 80),
atendendo s metas de qualidade e produo de um dado produto Exemplos
de algumas restries operacionais: Retomar uma pilha toda sempre que
possvel Concentrar retomada Retomar minrio da esquerda para a
direita e de cima para baixo
Slide 18
18 Ptio de Estocagem Cau Controle de Ptio de Minrios
Slide 19
19 Equipamentos de empilhamento e recuperao Recuperadora
(Bucket Wheel) Recuperadora Tambor (Drum) Empilhadeira (Stacker)
Controle de Ptio de Minrios
Slide 20
20 Silos de embarque Controle de Ptio de Minrios
Slide 21
21 Programao/Simulao Controle de Ptio de Minrios
Slide 22
22 Controle de Ptio de Minrios
Slide 23
23 Teor de SiO 2 (%) PCCA Lotes Controle de Ptio de
Minrios
Slide 24
24 Teor de P (%) PCCA Lotes Controle de Ptio de Minrios
Slide 25
25 Teor de Al 2 O 3 (%) PCCA Lotes Controle de Ptio de
Minrios
Slide 26
26 Teor de Mn (%) PCCA Lotes Controle de Ptio de Minrios
Slide 27
27 Teor de H 2 O (%) PCCA Lotes Controle de Ptio de
Minrios
Slide 28
28 Carregamento de produtos em Navios Navio Poro 1 Poro 2Poro
N... Produto 2 Produto 1 Produto m...
Slide 29
29 Carregamento de produtos em Navios: Caractersticas do
problema Turnos de 6 horas de trabalho: 7h-13h 13h-19h 19h-1h 1h-7h
8 tipos de turnos: Dia til (horrios normal e noturno) Sbado
(horrios normal e noturno) Domingo (horrios normal e noturno)
Feriado (horrios normal e noturno) Terno: equipe de trabalho
atuando em um poro durante um turno
Slide 30
30 Carregamento de produtos em Navios: Caractersticas do
problema Existe um certo nmero de mquinas disponveis para fazer o
carregamento do navio: CN, CG e GB. Cada mquina possui uma
produtividade diferente para cada tipo de produto.
Slide 31
31 Carregamento de produtos em Navios: Caractersticas do
problema Produtos carregados em uma ordem preestabelecida. As
equipes so remuneradas de acordo com a produo (ton.). Os custos
variam de acordo com o produto carregado e o tipo do turno em que
ocorre o terno. O custo total dado pelo somatrio dos custos com
docas, encarregados, guincheiros, conferentes, estivadores e
equipamento utilizado.
Slide 32
32 Carregamento de produtos em Navios: Caractersticas do
problema Custo do carregamento dado pelo somatrio dos custos dos
ternos Carregamento concludo depois da data prevista em contrato:
Demurrage (multa por dia de atraso) Carregamento concludo antes da
data prevista em contrato: Prmio (metade da multa) Objetivo reduzir
os custos com a mo- de-obra
Slide 33
33 Modelos de Otimizao Programao matemtica: Fundamentados na
matemtica Mtodos exatos: garantem a gerao da soluo tima Mtodo mais
difundido: Programao Linear (PL) Desvantagens: Modelagem mais
complexa Em problemas combinatrios, podem exigir um tempo
proibitivo para encontrar a soluo tima Heursticos: Fundamentados na
Inteligncia Artificial Mtodos aproximados: No garantem a
otimalidade da soluo final Vantagens: De fcil modelagem Boas solues
podem ser obtidas rapidamente
Slide 34
34 Modelos de Programao Linear Formulao algbrica: otimizar
sujeito a funo objetivo restries condies de no-negatividade
Slide 35
35 Modelos de Programao Linear 1. As restries representam
limitaes de recursos disponveis (mo-de-obra, capital, recursos
minerais ou fatores de produo) ou ento, exigncias e condies que
devem ser cumpridas 2. x j uma varivel de deciso, que quantifica o
nvel de operao da atividade j 3. b i representa a quantidade do
i-simo recurso disponvel ou a exigncia que deve ser cumprida
Slide 36
36 Modelos de Programao Linear 4. c j representa o custo
associado j-sima atividade 5. a ij a quantidade do recurso i
(exigido ou disponvel) em uma unidade da atividade j 6. otimizar =
maximizar ou minimizar
Slide 37
37 Terminologia Soluo Qualquer especificao de valores para as
variveis de deciso Soluo vivel Soluo que satisfaz a todas as
restries Soluo tima Soluo vivel que tem o valor mais favorvel da
funo objetivo
Slide 38
38 Hipteses assumidas em um modelo de programao linear
Proporcionalidade O custo de cada atividade proporcional ao nvel de
operao da atividade A quantidade de recursos consumidos por uma
atividade proporcional ao nvel dessa atividade Divisibilidade As
atividades podem ser divididas em qualquer nvel fracionrio
Aditividade O custo total a soma das parcelas associadas a cada
atividade Certeza Assume-se que todos os parmetros do modelo so
constantes conhecidas
Slide 39
39 Problema da Mistura de Minrios H um conjunto de pilhas de
minrio Em cada pilha h uma composio qumica e granulomtrica
diferente (% de Fe, SiO2, Al2O3 etc.) A cada pilha est associado um
custo necessrio formar uma mistura com uma certa especificao Dentre
as possveis misturas que atendem a especificao requerida, o
objetivo encontrar aquela que seja de custo mnimo
Slide 40
40 Problema da Mistura de Minrios 60% Fe 10 $/t 50% Fe 6 $/t
55% Fe 9 $/t 1 t 2 t Mistura requerida: 2 t., 55% Fe Pilha 1 Pilha
2 Pilha 3 Soluo 2: 1t. Pilha 1 + 1t. Pilha 2 = 2t. Ferro na mistura
= 55% Custo da mistura = $ 16 Soluo 1: 2t. Pilha 3 = 2t. minrio
Ferro na mistura = 55% Custo da mistura = $ 18
Slide 41
41 Modelo de PL para o Problema da Mistura de Minrios Dados de
entrada: Pilhas = Conjunto de pilhas Parametros = Conjunto dos
parmetros de controle (Teores, Granulometria) t ij = % do parmetro
de controle j em uma tonelada da pilha i tl j = % mnimo admissvel
para o parmetro j tu j = % mximo admissvel para o parmetro j Qu i =
Quantidade mxima de minrio, em toneladas, existente na pilha i c i
= Custo, em $, de uma tonelada de minrio da pilha i p = quantidade,
em toneladas, da mistura a ser formada Variveis de deciso: x i =
Quantidade de minrio a ser retirado da pilha i
Slide 42
42 Modelo de PL para o Problema da Mistura de Minrios % do
parmetro j na mistura no pode superar o valor mximo permitido % do
parmetro j na mistura no pode ser inferior ao valor mnimo permitido
A mistura deve ter peso total p No-negatividade A quantidade a ser
retomada em cada pilha i est limitada Qu i
Slide 43
43 Modelo de PL para o Problema da Mistura de Minrios
Linearizao das restries Valor do parmetro j na mistura no pode
superar o valor mximo permitido Valor do parmetro j na mistura no
pode ser inferior ao valor mnimo permitido A mistura deve ter peso
total p No-negatividade A quantidade a ser retomada em cada pilha i
est limitada Qu i
Slide 44
44 Modelo de PL para o Problema da Mistura de Minrios Problemas
dessa modelagem de programao linear: Restries so rgidas Na prtica,
pode no haver soluo Nesse caso, otimizador aplicado ao modelo
retorna que no h soluo vivel Qual a melhor soluo invivel?
Slide 45
45 Programao linear por metas (goal programming) Permite
trabalhar com restries relaxadas mais flexvel Cria varivel de
desvio para cada restrio que pode ser relaxada Varivel de desvio
mensura a distncia de viabilidade e colocada na funo objetivo, para
ser minimizada O valor mnimo da varivel de desvio representa a meta
a ser atingida
Slide 46
46 Programao linear por metas (goal programming) Restries do
tipo Desvio positivo (dp): Mede o quanto se ultrapassou de 10
Desvio positivo = desvio para cima
Slide 47
47 Programao linear por metas (goal programming) Restries do
tipo Desvio negativo (dn): Mede o quanto faltou para chegar a 10
Desvio negativo = desvio para baixo
Slide 48
48 Programao linear por metas (goal programming) Restries do
tipo = Mede o que supera 10 Mede o que falta para chegar a 10
Slide 49
49 Programao linear por metas (goal programming) Dois mtodos de
soluo so normalmente utilizados: Mtodo dos pesos Mtodo hierrquico
Mtodo dos pesos: Forma-se uma nica funo objetivo com o somatrio
ponderado das variveis de desvio A cada varivel de desvio associado
um peso, que reflete a importncia relativa da restrio relaxada
Mtodo hierrquico: estabelecida, inicialmente, a hierarquia
(prioridade) das metas Resolve-se o problema com a meta de maior
prioridade (isto , apenas a varivel de desvio mais prioritria)
Resolve-se, a seguir, o problema tendo como funo objetivo uma meta
de prioridade mais baixa que a anterior, mas atribuindo o valor
timo da meta anterior varivel de desvio correspondente, isto ,
tratando a meta anterior como restrio do modelo O procedimento
executado de modo que a soluo obtida de uma meta de prioridade mais
baixa nunca degrade qualquer soluo de prioridade mais alta
Slide 50
50 Modelo de PL para a Mistura de Minrios com relaxao dos
limites de especificao Dados de entrada: Pilhas = Conjunto de
pilhas Parametros = Conjunto dos parmetros de controle t ij = % do
parmetro de controle j em uma tonelada da pilha i tl j = % mnimo
admissvel para o parmetro j tu j = % mximo admissvel para o
parmetro j Qu i = Quantidade mxima de minrio, em toneladas,
existente na pilha i p = quantidade, em toneladas, da mistura a ser
formada wne j = Peso para o desvio negativo de especificao do
parmetro j na mistura wpe j = Peso para o desvio positivo de
especificao do parmetro j na mistura Variveis de deciso: x i =
Quantidade de minrio a ser retirado da pilha i dne j = Desvio
negativo de especificao, em toneladas, do parmetro j na mistura dpe
j = Desvio positivo de especificao, em toneladas, do parmetro j na
mistura
Slide 51
51 Modelo de PL para a Mistura de Minrios com relaxao dos
limites de especificao Admite-se que a quantidade do parmetro j na
mistura supere em dpe j toneladas a quantidade mxima admitida A
mistura deve ter peso total p No-negatividade A quantidade a ser
retomada em cada pilha i est limitada Qu i Admite-se que a
quantidade do parmetro j na mistura esteja dne j toneladas abaixo
da quantidade mnima permitida Desvio positivo, em toneladas Desvio
negativo, em toneladas Peso associado ao desvio negativo
Slide 52
52 Problema da Mistura de Minrios com metas de qualidade e
relaxao dos limites de especificao H um conjunto de 15 pilhas de
minrio Em cada pilha h uma composio qumica diferente (% de Fe,
Al2O3 etc.) necessrio formar 6000 toneladas de um produto com uma
certa especificao Para cada parmetro de controle so dados os
limites inferior e superior de especificao, bem como as metas de
qualidade para o produto formado Cada parmetro de controle
classificado em 5 critrios: irrelevante, importante, muito
importante, crtico e muito crtico O peso de desvio de meta igual ao
produto do peso critrio pelo peso de comparao O peso de comparao
serve para colocar cada parmetro de controle em uma mesma ordem de
grandeza Dentre as possveis misturas que atendem a especificao
requerida, o objetivo encontrar aquela que esteja o mais prximo
possvel das metas de qualidade
Slide 53
53 Mistura de Minrios com metas de qualidade e relaxao dos
limites de especificao: dados de entrada
Slide 54
54 Mistura de Minrios com metas de qualidade e relaxao dos
limites de especificao: modelo de PL Dados de entrada: Pilhas =
Conjunto de pilhas Parametros = Conjunto dos parmetros de controle
t ij = % do parmetro de controle j em uma tonelada da pilha i tl j
= % mnimo admissvel para o parmetro j tu j = % mximo admissvel para
o parmetro j tr j = % recomendada para o parmetro j Qu i =
Quantidade mxima de minrio, em toneladas, existente na pilha i p =
quantidade, em toneladas, da mistura a ser formada wnm j = Peso
para o desvio negativo (de meta) do parmetro j na mistura wpm j =
Peso para o desvio positivo (de meta) do parmetro j na mistura wne
j = Peso para o desvio negativo (de especificao) do parmetro j na
mistura wpe j = Peso para o desvio positivo (de especificao) do
parmetro j na mistura Variveis de deciso: x i = Quantidade de
minrio a ser retirado da pilha i dnm j = Desvio negativo (de meta),
em toneladas, do parmetro j na mistura dpm j = Desvio positivo (de
meta), em toneladas, do parmetro j na mistura dne j = Desvio
negativo (de especificao), em toneladas, do parmetro j na mistura
dpe j = Desvio positivo (de especificao), em toneladas, do parmetro
j na mistura
Slide 55
55 Mistura de Minrios com metas de qualidade e relaxao dos
limites de especificao: modelo de PL Admite-se que a quantidade do
parmetro j na mistura supere a quantidade mxima permitida em dp j
ton. A mistura total deve ter peso total p No-negatividade A
quantidade a ser retomada em cada pilha i est limitada Qu i
Admite-se que a quantidade do parmetro j na mistura seja inferior
quantidade mnima permitida em dn j ton. Admite-se que haja excesso
(dpm j ) ou falta (dnm j ) no parmetro j na mistura em relao
quantidade recomendada
Slide 56
56 Resoluo grfica de PPLs Passos para resolver graficamente um
PPL: a) Determinar o gradiente da funo objetivo (Gradiente
perpendicular reta definida pela funo objetivo) b) Caminhar no
sentido e direo do gradiente da funo objetivo at tangenciar a regio
vivel c) O ponto de tangncia representa a soluo tima x*
Slide 57
57 Fundamentao do Mtodo SIMPLEX Seja resolver o seguinte
PPL:
Slide 58
58 Fundamentao do Mtodo SIMPLEX x1x1 x2x2 x 2 2 x 1 2 x 1 + x 2
3 A B C D E F G A = (0,0) B = (2,0) C = (2,1) D = (1,2) E = (0,2) F
= (0,3) G = (2,2) H = (3,0) H max z=x 1 + 2x 2 z = 4 x* = (1,2), z*
= 5
Slide 59
59 Teorema Fundamental da Programao Linear O timo de um PPL, se
existir, ocorre em pelo menos um vrtice do conjunto de solues
viveis. Situaes que podem ocorrer com relao ao conjunto M de solues
viveis: 1) M = {} Neste caso no h soluo vivel => No h soluo
tima
Slide 60
60 Teorema Fundamental da Programao Linear 2) M no vazio a) M
limitado nica soluo tima, a qual vrtice Infinidade de solues timas,
sendo duas vrtices x* y*
Slide 61
61 Teorema Fundamental da Programao Linear 2) M no vazio b) M
ilimitado nica soluo tima, a qual vrtice Infinidade de solues
timas, sendo uma vrtice x*
Slide 62
62 Teorema Fundamental da Programao Linear 2) M no vazio b) M
ilimitado Infinidade de solues timas, sendo duas vrtices No h
solues timas x* y*
Slide 63
63 Forma-padro de um PPL PPL est na forma-padro quando posto na
forma: sendo
Slide 64
64 Reduo de um PPL qualquer forma-padro Restries do tipo x 4 0
x 3 0
Slide 65
65 Reduo de um PPL qualquer forma-padro Existe b i < 0
Existem variveis no-positivas: Seja x k 0: Soluo: Criar varivel x k
tal que x k = - x k Assim, modelo ter varivel x k 0 Soluo: Basta
multiplicar restrio i por -1
Slide 66
66 Reduo de um PPL qualquer forma-padro Existem variveis
livres, isto , variveis x k que podem assumir qualquer valor real
(negativo, nulo ou positivo): PPL de maximizao: Soluo: Substituir x
k por x k x k, com x k 0 e x k 0 x k > x k x k > 0 x k = x k
x k = 0 x k < x k x k < 0 max f(x) = - min {-f(x)}
Slide 67
67 Caracterizao de vrtice A x b
Slide 68
68 Caracterizao de vrtice x1x1 x2x2 x 2 2 x 1 2 x 1 + x 2 3 A B
C D E F G A = (0,0) B = (2,0) C = (2,1) D = (1,2) E = (0,2) F =
(0,3) G = (2,2) H = (3,0) H
Slide 69
69 Caracterizao de vrtice Em um ponto no interior do conjunto
(no pertencente a nenhuma aresta) no h variveis nulas Em uma aresta
h, pelo menos, uma varivel nula Em um vrtice h, pelo menos, n-m
variveis nulas n - mm m n RB
Slide 70
70 Caracterizao de vrtice Para gerar um vrtice: Escolher uma
matriz no-singular B tal que: Bx B + Rx R = b Fazer x R = 0 Se ao
resolver o sistema Bx B = b, for obtido x B 0, ento x = (x B x R )
t = (x B 0) t vrtice Deste procedimento resulta uma Soluo Bsica
Vivel (SBV), com o significado geomtrico de vrtice.
Slide 71
71 Definies B = base x = (x B x R ) t x B = vetor das variveis
bsicas x R = vetor das variveis no-bsicas Soluo Bsica (SB): vetor x
tal que Bx B =b e x R = 0 Soluo Bsica Vivel (SBV): vetor x tal que
Bx B =b; x B 0 e x R = 0 Soluo Bsica Vivel Degenerada (SBVD): uma
SBV em que existe varivel bsica nula
Slide 72
72 Princpio de funcionamento do Algoritmo SIMPLEX SBV inicial
Determine VB que deve deixar a base Determine VNB que deve entrar
na base Pare: Esta SBV tima Encontre nova SBV Esta SBV pode ser
melhorada? No Sim
Slide 73
73 Princpio de funcionamento do Algoritmo SIMPLEX A x b
Slide 74
74 Princpio de funcionamento do Algoritmo SIMPLEX VBx1x1 x2x2
x3x3 x4x4 x5x5 x3x3 101002 x4x4 010102 x5x5 110013 12000z PPL na
forma cannica: Base a identidade e coeficientes das VBs na funo
objetivo so todos nulos.
Slide 75
75 Princpio de funcionamento do Algoritmo SIMPLEX VBx1x1 x2x2
x3x3 x4x4 x5x5 x3x3 101002 x4x4 010102 x5x5 110013 12000z Soluo
inicial: x (0) = (0 0 2 2 3) t ; z = 0 VB = {x 3 = 2, x 4 = 2, x 5
= 3} VNB = {x 1 = 0, x 2 = 0}
Slide 76
76 Princpio de funcionamento do Algoritmo SIMPLEX VBx1x1 x2x2
x3x3 x4x4 x5x5 (L 1 )x3x3 101002 (L 2 )x4x4 010102 (L 3 )x5x5
110013 (L 4 )12000z L 3 -L 2 + L 3 L 4 -2L 2 + L 4 Transformaes
elementares:
Slide 77
77 Princpio de funcionamento do Algoritmo SIMPLEX VBx1x1 x2x2
x3x3 x4x4 x5x5 (L 1 )x3x3 101002 (L 2 )x2x2 010102 (L 3 )x5x5 10011
(L 4 )100-20z-4 VB = {x 3 = 2, x 2 = 2, x 5 = 1} VNB = {x 1 = 0, x
4 = 0} Final da Iterao 1: x (1) = (0 2 2 0 1) t ; z = 4
Slide 78
78 Princpio de funcionamento do Algoritmo SIMPLEX VBx1x1 x2x2
x3x3 x4x4 x5x5 (L 1 )x3x3 101002 (L 2 )x2x2 010102 (L 3 )x5x5 10011
(L 4 )100-20z-4 L 4 -L 3 + L 4 L 1 -L 3 + L 1
Slide 79
79 Princpio de funcionamento do Algoritmo SIMPLEX VBx1x1 x2x2
x3x3 x4x4 x5x5 (L 1 )x3x3 00111 (L 2 )x2x2 010102 (L 3 )x1x1 10011
(L 4 )000 z-5 VB = {x 1 = 1, x 2 = 2, x 3 = 1} VNB = {x 4 = 0, x 5
= 0} Final da Iterao 2: x (2) = (1 2 1 0 0) t ; z = 5
Slide 80
80 Interpretao geomtrica x1x1 x2x2 x 2 2 x 1 2 x 1 + x 2 3 A B
C D E F G A = (0,0) B = (2,0) C = (1,1) D = (1,2) E = (0,2) F =
(0,3) G = (2,2) H = (3,0) H
Slide 81
81 Situao em que a origem no pode ser soluo inicial: Exemplo 2
A x b
Slide 82
82 Mtodo das Duas Fases x1x1 x2x2 x 2 2 x 1 2 x 1 + x 2 3 A B C
D E F G A = (0,0) B = (2,0) C = (1,1) D = (1,2) E = (0,2) F = (0,3)
G = (2,2) H = (3,0) H
Slide 83
83 Mtodo das Duas Fases Primeira fase (Criar problema auxiliar
P): Introduzir variveis de folga e variveis artificiais Variveis de
folga: introduzidas quando h variveis do tipo ou Variveis
artificiais: introduzidas quando h restries do tipo ou = Criar funo
objetivo artificial: Variveis bsicas iniciais: variveis de folga
associadas s restries e variveis artificiais Objetivo da primeira
fase: minimizar a funo objetivo artificial Caminhar de SBV em SBV
de P at alcanar SBV do problema original P (situao que ocorre
quando todas as variveis artificiais so nulas).
Slide 84
84 Mtodo das Duas Fases Segunda fase: A partir de uma SBV do
problema original P, gerar SBV cada vez melhores at se atingir a
soluo tima. Aplicando o mtodo das duas fases ao PPL dado,
tem-se:
Slide 85
85 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 x1ax1a (L 1
)x3x3 1010002 (L 2 )x4x4 0101002 (L 3 )x1ax1a 110013 (L 4
)000001zaza (L 5 )120000z L 4 -L 3 + L 4 Reduo forma cannica:
Slide 86
86 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 x1ax1a (L 1
)x3x3 1010002 (L 2 )x4x4 0101002 (L 3 )x1ax1a 110013 (L 4 ) 0010 z
a -3 (L 5 )120000z L 3 -L 1 + L 3 L 4 L 1 + L 4 L 5 -L 1 + L 5
Slide 87
87 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 x1ax1a (L 1
)x1x1 1010002 (L 2 )x4x4 0101002 (L 3 )x1ax1a 010 11 (L 4 )02010 z
a -1 (L 5 )02000z-2 L 2 -L 3 + L 2 L 4 L 3 + L 4 L 5 -2L 3 + L
5
Slide 88
88 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 x1ax1a (L 1
)x1x1 1010002 (L 2 )x4x4 001111 (L 3 )x2x2 010 11 (L 4 )001001 zaza
(L 5 )00102-2z-4 Fim da primeira fase: z a = 0x = (2, 1); z =
4
Slide 89
89 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 (L 1 )x1x1
101002 (L 2 )x4x4 001111 (L 3 )x2x2 010 1 (L 4 )00102z-4 L 3 L 2 +
L 3 L 4 -2L 2 + L 4
91 Mtodo das Duas Fases: Interpretao Geomtrica x1x1 x2x2 x 2 2
x 1 2 x 1 + x 2 3 A B C D E F G A = (0,0) B = (2,0) C = (1,1) D =
(1,2) E = (0,2) F = (0,3) G = (2,2) H = (3,0) H
Slide 92
92 Outro exemplo de aplicao do Mtodo das Duas Fases: Exemplo 3
A x b
Slide 93
93 Mtodo das Duas Fases: Exemplo 3 Introduzindo variveis
artificiais no PPL dado, tem-se:
Slide 94
94 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 x1ax1a
x2ax2a (L 1 )x1ax1a 1000102 (L 2 )x4x4 01010002 (L 3 )x2ax2a
1100013 (L 4 )0000011zaza (L 5 )1200000z L 4 -L 1 L 3 + L 4 Transf.
para forma cannica:
Slide 95
95 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 x1ax1a
x2ax2a (L 1 )x1ax1a 1000102 (L 2 )x4x4 01010002 (L 3 )x2ax2a
1100013 (L 4 )-210100 z a -5 (L 5 )1200000z L 3 -L 1 + L 3 L 4 2L 1
+ L 4 L 5 -L 1 + L 5
Slide 96
96 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 x1ax1a
x2ax2a (L 1 )x1x1 1000102 (L 2 )x4x4 01010002 (L 3 )x2ax2a 0110 11
(L 4 )0 0120 z a -1 (L 5 )021000z-2 L 2 -L 3 + L 2 L 4 L 3 + L 4 L
5 -2L 3 + L 5
Slide 97
97 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 x1ax1a
x2ax2a (L 1 )x1x1 1000102 (L 2 )x4x4 00111 1 (L 3 )x2x2 0110 11 (L
4 )0000011 zaza (L 5 )00021-2z-4 Fim da primeira fase: z a = 0x =
(2, 1); z = 4
Slide 98
98 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 (L 1 )x1x1
10002 (L 2 )x4x4 00111 (L 3 )x2x2 01101 (L 4 )0002z-4 L 4 -2L 2 + L
4 L 3 L 2 + L 3
Slide 99
99 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 (L 1 )x1x1
10002 (L 2 )x5x5 00111 (L 3 )x2x2 010102 (L 4 )001-20z-6 x 3 pode
entrar na base melhorando o valor de z indefinidamente. Assim, no h
soluo tima.
Slide 100
100 Mtodo das Duas Fases: Interpretao Geomtrica x1x1 x2x2 x 2 2
x 1 2 x 1 + x 2 3 A B C D E F G A = (0,0) B = (2,0) C = (1,1) D =
(1,2) E = (0,2) F = (0,3) G = (2,2) H = (3,0) H
Slide 101
101 Dualidade Seja o PPL, doravante chamado de PPL primal: ou,
na forma expandida:
Slide 102
102 Dualidade Associado a este PPL, existe um PPL, chamado PPL
dual: ou, na forma expandida:
Slide 103
103 Dualidade: Regras de transformao PrimalDual MIN Restrio
Varivel MAX =qq. Varivel Restrio qq.= DualPrimal
Slide 104
104 Dualidade: Vantagens Em situaes na qual a matriz de
coeficientes do primal tem maior nmero de linhas do que de colunas:
Dual A base no DUAL menor!!!
Slide 105
105 Dualidade: Vantagens possvel cercar a soluo tima.
(Considere um PPL primal de minimizao) x* = u* f(x) f D (x) (valor
do primal) (valor do dual)
Slide 106
106 Dualidade: Interpretao Econmica Seja o par de PPLs:
PRIMALDUAL
Slide 107
107 Dualidade: Interpretao Econmica Sejam x* e u* solues timas
desses PPLs e seja B* a base relativa a essas solues. Ento: Supondo
b varivel e derivando em relao a b, temos: Ento u* a taxa de variao
do valor timo da funo objetivo f(x*) com b. Como u* 0, ento f(x*)
cresce medida que b i cresce
Slide 108
108 Dualidade: Interpretao Econmica Considere o primal um
problema de alocao de recursos, com m recursos disponveis nas
quantidades b 1, b 2,..., b m com os quais desejamos fabricar n
produtos nas quantidades x 1, x 2,..., x n a serem determinadas.
Cada unidade do produto j consome a ij unidades do recurso i
trazendo um retorno de c j unidades monetrias. Queremos determinar
a quantidade a ser fabricada de cada produto de modo a maximizar o
retorno.
Slide 109
109 Dualidade: Interpretao Econmica Suponha, agora, aumentada
em uma unidade a quantidade disponvel do recurso k, isto , temos (b
k + 1) unidades. Suponha que a base associada permanea a mesma.
Neste caso, a nova soluo tima u** do dual permanece a mesma, uma
vez que: u** = u* = (c B* ) t B* -1. A nova soluo tima x**
ser:
Slide 110
110 Dualidade: Interpretao Econmica Isto , f(x**) f(x*) = u k
*, ou seja, u k * o incremento no lucro trazido pelo aumento de uma
unidade da matria disponvel k. u k * chamado shadow price, dual,
valor incremental, efficiency price, valor implcito, etc.
Slide 111
111 Anlise de Sensibilidade (Ps-otimizao) Seja o sistema
Ax=b,com uma base B, e uma funo objetivo f(x) Seja o quadro genrico
do Simplex em uma dada iterao colocado na forma matricial no
cannica (x R ) t (x B ) t (L 1 ) xBxB RBb (L 2 ) (c R ) t (c B ) t
f(x)
Slide 112
112 Anlise de Sensibilidade (Ps-otimizao) Para colocar esse
quadro na forma cannica devemos efetuar as seguintes transformaes
elementares: L 1 B -1 L 1 (x R ) t (x B ) t (L 1 )xBxB B -1 RIB -1
b (L 2 )(c R ) t (c B ) t f(x) L 2 -(c B ) t L 1 + L 2
Slide 113
113 Anlise de Sensibilidade (Ps-otimizao) (x R ) t (x B ) t (L
1 )xBxB B -1 RIB -1 b (L 2 )(c R ) t - (c B ) t B -1 R(0) t f(x)-(c
B ) t B -1 b Seja: Y = B -1 R y j = B -1 a j x B = B -1 b z = (c B
) t B -1 R z j = (c B ) t B -1 a j
Slide 114
114 Anlise de Sensibilidade (Ps-otimizao) (x R ) t (x B ) t (L
1 )xBxB YIxBxB (L 2 )(c R ) t - z(0) t f(x)-f(x) Sendo: f(x) = c t
x = (c B ) t x B + (c R ) t x R = = (c B ) t x B = (c B ) t B -1
b
Slide 115
115 Anlise de Sensibilidade: Ex. 1 Carteira de Investimentos
Uma empresa gerencia recursos de terceiros atravs da escolha de
carteiras de investimentos para diversos clientes, baseados em
bonds de diversas empresas. Um de seus clientes exige que: No mais
de 25% do total aplicado deve ser investido em um nico
investimento; Um valor superior ou igual a 50% do total aplicado
deve ser investido em ttulos de maturidade maiores que 10 anos; O
total aplicado em ttulos de alto risco deve ser, no mximo, de 45%
do total investido. Considerando a tabela abaixo de retorno, risco
e maturidade dos diversos ttulos, determine a estratgia tima para o
investidor de forma que a rentabilidade de sua aplicao seja mxima.
TtuloRetorno anual (%) Maturidade (anos) Risco 18,7151 Muito baixo
29,5123 Regular 312,084 Alto 49,072 Baixo 513,0114 Alto 620,055
Muito alto
Slide 116
116 Carteira de Investimentos: Modelo de Programao
Matemtica
Slide 117
117 Anlise de sensibilidade: Carteira de Investimentos -
Questes 1. Qual o melhor retorno que se pode obter? Quanto se deve
aplicar em cada ttulo para que se tenha o retorno timo? 2. Em qual
percentual aumentaria o retorno se fosse permitido aplicar 1% a
mais no Ttulo 2? De quanto seria o retorno? Essa regra vale at
quanto? 3. A partir de qual percentual a aplicao no ttulo 3
vantajosa? 4. Se fosse imposto limitar a aplicao em cada ttulo em
24% para um dentre os ttulos 2, 4 e 6, em qual ttulo deveria ser
feita a diminuio de aplicao? Justifique. 5. Quanto est
influenciando a restrio de limitao de aplicao em ttulo de alto
risco? Qual seria o retorno se esta limitao fosse de 49%?
Slide 118
118 Anlise de Sensibilidade: Ex. 2 Produo de automveis Uma
empresa deve produzir 1000 automveis. Ela tem quatro fbricas, as
quais, devido a diferenas na mo-de-obra e avanos tecnolgicos, as
plantas diferem no custo de produo de cada carro. Elas tambm
utilizam diferentes quantidades de matria- prima e mo-de-obra. A
tabela abaixo resume essas informaes: FbricaCusto (R$
mil)Mo-de-ObraMat. Prima 11523 21034 3945 4756
Slide 119
119 Anlise de Sensibilidade Ex. 2 Produo de automveis Um acordo
trabalhista requer que pelo menos 400 carros sejam produzidos na
fbrica 3. Existem 3300 horas de mo-de-obra e 4000 unidades de
material que podem ser alocadas s 4 fbricas. O modelo de programao
matemtica que otimiza a produo :
Slide 120
120 Anlise de sensibilidade: Ex. 2 Produo de automveis 1. Quais
so as quantias timas de produo? Qual o custo da produo? 2. Quanto
custa produzir mais um veculo? Quanto economizamos produzindo um
veculo a menos? 3. Como mudaria a soluo se custasse somente
R$8.000,00 para produzir na fbrica 2? Como ficaria o custo? 4.
Quanto estamos dispostos a pagar por uma hora de trabalho? 5.
Quanto o acordo est custando? Qual seria a variao no custo se o
acordo fosse de 250 carros? 6. Quanto vale a matria-prima
(conseguir mais uma unidade)? Quantas unidades estamos dispostos a
pagar por esse preo? 7. At que custo ainda vantajoso produzir na
fbrica 2?
Slide 121
121 Resoluo de PPLs Inteiros Seja resolver: cuja soluo tima
(contnua) : x 1 = 18,89 x 2 = 1,58 z = 48,42
Slide 122
122 Resoluo de PPLs Inteiros No entanto, a soluo tima inteira :
x 1 = 10 x 2 = 2 z = 48 isto , o erro de 21% no arredondamento.
Concluso: No uma boa estratgia resolver o PPL (contnuo) e
arredondar a soluo resultante Aplicando a estratgia de
arredondamento, uma vez que os valores timos so fracionrios, e
providenciando uma busca racional no entorno do ponto timo,
teramos: x1x1 x2x2 Z=x 1 +19*x 2 192Invivel 19138 182Invivel 18137
Melhor valor
Slide 123
123 Programao inteira: Branch-and-Bound Exemplo extrado de:
GOLDBARG & LUNA (2005), Otimizao Combinatria, Editora
Campus.
Slide 124
124 3 4 15 2 x ou 41 4 15 2 x x1x1 = 9 4 x2x2 = 15 4 Z= 1 4 41
Disjuntiva Soluo Contnua Programao inteira: Branch-and-Bound
Slide 125
125 Programao inteira: Branch-and-Bound
Slide 126
126 Programao inteira: Branch-and-Bound
Slide 127
127 Programao inteira: rvore de Branching
Slide 128
128 Programao inteira: Branch-and-Bound Resolva pelo mtodo
Branch-and-Bound o PLI abaixo Use a variante de Dank para decidir a
varivel a ramificar (Nessa variante, a varivel a ramificar aquela
cujo valor est mais prximo de um valor inteiro) Em caso de empate,
escolha a de menor ndice Use busca em profundidade e analise
primeiro o valor maior da varivel ramificada, isto , o valor
Slide 129
129 Programao inteira: rvore de Branching
Slide 130
130 Programao inteira: rvore de Branch-and-Bound
Slide 131
131 Exerccios de modelagem em programao matemtica Problema
proposto pelo Tales Problema de transporte Problema de alocao de
pessoal (Staff Scheduling) Sem hora-extra Com hora-extra Problema
de Corte de Estoque (Cutting Stock Problem) Problema das bobinas
Problema da serralheria Problema da Mochila (Knapsack Problema)
Mochila 0-1 Mochila 0-1 Mltipla Mochila Inteira Mochila Inteira
Mltipla Alocao Dinmica de Caminhes Determinao do Ritmo de Lavra
Controle de Ptio de Minrios Programao da produo: dimensionamento de
lotes Seqenciamento em uma mquina com penalidades por antecipao e
atraso da produo e janelas de atendimento
Slide 132
132 Problema proposto pelo Tales (1) Dados de entrada: Pilhas =
Conjunto de pilhas Parametros = Conjunto dos parmetros de controle
t ij = % do parmetro de controle j em uma tonelada da pilha i tl j
= % mnimo admissvel para o parmetro j tu j = % mximo admissvel para
o parmetro j tr j = % recomendada para o parmetro j Qu i =
Quantidade mxima de minrio, em toneladas, existente na pilha i p =
quantidade, em toneladas, da mistura a ser formada wnm j = Peso
para o desvio negativo (relativo meta) do parmetro j na mistura wpm
j = Peso para o desvio positivo (relativo meta) do parmetro j na
mistura wpe j = Peso para o desvio positivo relativo especificao do
parmetro j na mistura wnpilha i = Peso para a quantidade de minrio
que resta na pilha i (peso relativo ao desvio negativo de pilha)
wpp = Peso para o desvio positivo de produo wnp = Peso para o
desvio negativo de produo
Slide 133
133 Problema proposto pelo Tales (2) Dados de entrada: Para
determinados parmetros de controle, o limite superior de
especificao pode ser extrapolado, isto , extrapolar j = 1 significa
que o parmetro de controle j pode ter seu limite superior relaxado)
wpe j = Peso para o desvio positivo (de limite superior) do
parmetro j na mistura Algumas pilhas no podem ser utilizadas
(desconsiderar i = 1 significa que a pilha i no pode ser usada) Se
uma pilha for retomada, deve-se retomar no mnimo retmin toneladas
Deve-se tirar o mximo possvel de cada pilha i, isto , a quantidade
que restar na pilha (dnpilha i ) deve ser minimizada Algumas pilhas
devem ser necessariamente retomadas, isto , retomar i = 1 significa
que a pilha i deve ser totalmente usada Variveis de deciso: x i =
Quantidade de minrio a ser retirado da pilha i dnm j = Desvio
negativo (relativo meta), em toneladas, do parmetro j na mistura
dpm j = Desvio positivo (relativo meta), em toneladas, do parmetro
j na mistura dpe j = Desvio positivo (relativo ao lim. superior de
especificao), em ton, do parmetro j na mistura dnpilha i =
Quantidade de minrio que sobra, em toneladas, na pilha i (Desvio
negativo relativo quantidade Qu i disponvel na pilha i) dpp =
Desvio positivo de produo, em toneladas dnp = Desvio negativo de
produo, em toneladas y i = 1 se a pilha i for retirada e zero, caso
contrrio.
Slide 134
134 Problema da Mistura proposto pelo Tales (3) A mistura deve
ter como meta um peso total p A quantidade a ser retomada em cada
pilha i est limitada Qu i A quantidade do parmetro j na mistura no
pode ser inferior mnima permitida Admite-se que haja excesso (dpm j
) ou falta (dnm j ) do parmetro j na mistura em relao quantidade
recomendada A quantidade do parmetro j na mistura no pode superar a
mxima permitida A quantidade do parmetro j na mistura s pode
superar a mxima permitida quando extrapolar j = 1
Slide 135
135 Problema da Mistura proposto pelo Tales (4) Quando se
deseja retomar totalmente uma pilha i tem-se x i = Qu i Para as
pilhas i que no se deseja retomar, x i = 0 Deve-se tentar retomar
totalmente a pilha i (dnpilha i representa a sobra) Uma pilha i ser
retomada (total ou parcialmente) se y i = 1 Deve-se retomar no
mnimo retmin toneladas de uma pilha, caso ela seja usada
Slide 136
136 Problema de Transporte H um conjunto de minas produtoras de
minrio H um conjunto de usinas que processam os minrios
provenientes das minas H um custo de transporte de minrio de uma
mina para uma usina Cada mina tem uma capacidade de produo mensal
Cada usina tem uma demanda mensal Cada mina tem um custo fixo se
for usada Determinar a estratgia tima de transporte Mina Usinas Cap
(t/ms) Custo ($/t) 123 1108131150050000 279141450040000
36,510,812,41300030000 48,512,79,81230025500 Demanda (t/ms)
100001540013300--
Slide 137
137 Problema de Transporte Minas Usinas dem 1 dem 2 dem 3 cap 1
cap 2 cap 3 cap 4 c 11 c 12 c 13 f1f1 f2f2 f3f3 f4f4
Slide 138
138 Problema de Transporte Dados de entrada: Minas = Conjunto
de minas Usinas = Conjunto de usinas cap i = capacidade de produo,
em toneladas/ms, da mina i dem j = quantidade de minrio demandado
pela usina j, em ton/ms f i = custo fixo de uso da mina i, em $ c
ij = custo de transporte de minrio proveniente da mina i para
abastecer a usina j, em $/tonelada/ms Variveis de deciso: x ij =
Quantidade de minrio, em toneladas/ms, a ser transportado da mina i
para abastecer a usina j y i = 1 se a mina i ser usada e 0, caso
contrrio
Slide 139
139 Problema de Transporte (Caso em que: Oferta > Demanda)
Como oferta (minas) > demanda (usinas): Toda a demanda ser
atendida 1. Funo objetivo Minimizar o custo de transporte mais o
custo fixo pelo uso das minas usadas
Slide 140
140 Problema de Transporte: modelo de PL 2. Restries: a) A
capacidade de produo das minas deve ser respeitada b) Toda a
demanda atendida
Slide 141
141 Problema de Transporte: modelo de PL c) Uma mina s pode ser
usada se houver produo d) No negatividade e integralidade
Slide 142
142 Problema de Transporte: modelo (Caso em que Oferta <
Demanda) Nem toda a demanda atendida Toda a produo ofertada
Slide 143
143 Alocao de Pessoal Um hospital trabalha com atendimento
varivel em demanda durante as 24 horas do dia. As necessidades
distribuem-se segundo a tabela ao lado. O horrio de trabalho de um
enfermeiro de 8 horas seguidas e s pode ser iniciado no comeo de
cada turno, isto , s 8 ou 12 ou 16 ou 20 ou 24 ou 04 horas.
Considere que cada enfermeiro recebe $100 por hora de trabalho no
perodo diurno (08 s 20 h) e $125 no perodo noturno (20 s 08 h).
Elabore um modelo de PLI que minimize o gasto com a mo-de- obra.
TurnoHorrio# enf. 108-1251 212-1658 316-2062 420-2441 524-0432
604-0819
Slide 144
144 Problema de Alocao de Pessoal Dados de entrada: Turnos =
Conjunto de turnos de trabalho req i = nmero de enfermeiros
requeridos no turno i c i = custo do enfermeiro que comea sua
jornada no incio do turno i, em $ Variveis de deciso: x i = Nmero
de enfermeiros que comeam sua jornada de trabalho no incio do turno
i
Slide 145
145 Problema de Alocao de Pessoal 1. Funo objetivo Minimizar o
custo com as despesas com pessoal 2. Restries a) A demanda por
enfermeiros em cada turno i deve ser atendida b) No-negatividade e
integralidade
Slide 146
146 Listas Circulares no LINGO Listas circulares so usadas para
ligar o ltimo elemento de um conjunto ao primeiro, bem como o
primeiro ao ltimo. No LINGO, pode-se usar listas circulares por
meio do comando @wrap @wrap(index,Limit) = retorna o ndice J, dado
por: J = index + k Limit onde k um nmero inteiro tal que J pertena
ao intervalo [1, Limit] Exemplos: @wrap(4, 7) = 4 + k 7 = 4 + 0 7 =
4 @wrap(8, 7) = 8 + k 7 = 8 + (-1) 7 = 1 @wrap(9, 7) = 9 + k 7 = 9
+ (-1) 7 = 2 @wrap(0, 7) = 0 + k 7 = 0 + (1) 7 = 7 @wrap(-1, 7) =
-1 + k 7 = -1 + (1) 7 = 6 @wrap(-2, 7) = -2 + k 7 = -2 + (1) 7 = 5
Assim, se i pertence ao conjunto Turnos, isto , i Turnos, ento x
i-2 seria representado no LINGO por: x(@wrap(i-2,
@size(Turnos)))
Slide 147
147 Problema de Alocao de Pessoal com hora-extra Um hospital
trabalha com atendimento varivel em demanda durante as 24 horas do
dia. As necessidades distribuem-se segundo a tabela ao lado. O
horrio de trabalho de um enfermeiro de 8 horas seguidas e s pode
ser iniciado no comeo de cada turno, isto , s 8 ou 12 ou 16 ou 20
ou 24 ou 04 horas. Considere que cada enfermeiro recebe $100 por
hora de trabalho no perodo diurno (08 s 20 h) e $125 no perodo
noturno (20 s 08 h) Suponha que cada enfermeiro possa trabalhar
mais quatro horas consecutivas alm de sua jornada normal de
trabalho e que a hora-extra seja remunerada em 50% a mais que a
hora normal. Considere, tambm, que em cada turno, no mais de 20%
dos enfermeiros possa fazer hora-extra. Elabore um modelo de PLI
que minimize o gasto com a mo-de-obra. TurnoHorrio# enf. 108-1251
212-1658 316-2062 420-2441 524-0432 604-0819
Slide 148
148 Problema de Alocao de Pessoal com hora-extra Dados de
entrada: Turnos = Conjunto de turnos de trabalho req i = nmero de
enfermeiros requeridos no turno i csemhextra i = custo do
enfermeiro que comea sua jornada no incio do turno i, em $, e no
faz hora-extra ccomhextra i = custo do enfermeiro que comea sua
jornada no incio do turno i, em $, e FAZ hora-extra phe =
percentual mximo de enfermeiros fazendo hora-extra em um turno de
trabalho Variveis de deciso: x i = Nmero de enfermeiros que comeam
sua jornada de trabalho no incio do turno i e NO FAZEM hora-extra y
i = Nmero de enfermeiros que comeam sua jornada de trabalho no
incio do turno i e FAZEM hora-extra
Slide 149
149 Problema de Alocao de Pessoal 1. Funo objetivo Minimizar o
custo com as despesas com pessoal 2. Restries a) A demanda por
enfermeiros em cada turno i deve ser atendida b) Em cada turno, no
mais de phe (= 20%) dos enfermeiros podem fazer hora-extra c)
No-negatividade e integralidade
Slide 150
150 Problema de Corte de Estoque (1) (Cutting Stock Problem)
Certa empresa trabalha com a produo de etiquetas autocolantes. O
papel usado para sua confeco encontra-se em bobinas de mesmo
comprimento, todas com largura de 50 cm. H uma programao para a
prxima semana de 32 bobinas de 15 cm, 17 bobinas de 17,5 cm e 21
bobinas de 20 cm.
Slide 151
151 Problema de Corte de Estoque (1) (Cutting Stock Problem)
poltica da empresa estocar um mximo de 10 bobinas de cada tipo
(Esta ao evita a imobilizao de capital, uma vez que so incertos os
prximos pedidos). Os possveis padres de corte estabelecidos pelo
setor tcnico so especificados na tabela ao lado. Qual a programao
de corte a ser adotada que minimiza o desperdcio face necessidade
de produo? Padro de corte Largura da faixaPerda (cm) 15 cm 17,5 cm
20 cm 13005 22102,5 31200 42010 501112,5 600210
Slide 152
152 Problema de Corte de Estoque (1) (Cutting Stock Problem)
Dados de entrada: Padroes = Conjunto dos padres de corte Bobinas =
Conjunto dos tipos de bobinas perda i = perda, em cm, com o uso do
padro de corte i demanda j = quantidade de bobinas do tipo j
requeridas estmax = estoque mximo permitido de bobinas de cada tipo
a ij = nmero de bobinas de largura j existentes no padro i Variveis
de deciso: x i = Nmero de vezes em que se usa o padro de corte
i
Slide 153
153 Problema de Corte de Estoque (1) (Cutting Stock Problem) O
excesso de bobinas do tipo j no pode exceder a estmax A demanda por
bobinas do tipo j deve ser atendida Minimizar a perda com os
cortes
Slide 154
154 Problema de Corte de Estoque (2) (Cutting Stock Problem)
Relativamente ao problema anterior, suponha que se deseje
minimizar, alm da perda inerente ao processo de corte, tambm a
perda com o excesso de bobinas cortadas Neste caso, o modelo
anterior sofre a seguinte alterao: A funo objetivo tem agora uma
segunda parcela, que mede a perda com o excesso de bobinas
cortadas. Nessa parcela, para cada largura de bobina requerida, o
nmero de bobinas em excesso multiplicado pela largura da bobina,
resultando na perda em cm devido ao excesso de bobinas
cortadas.
Slide 155
155 Problema de Corte de Estoque (3) (Cutting Stock Problem)
Uma serralheria dispe de barras de 7 metros de comprimento
necessrio cortar essas barras de forma a atender a uma encomenda
por barras menores nos seguintes comprimentos: 92 barras de 2
metros 59 barras de 3 metros 89 barras de 4 metros Elaborar um
modelo para atender ao pedido minimizando a perda com o corte das
barras e tambm com o excesso de barras cortadas
Slide 156
156 Problema de Corte de Estoque (3) (Cutting Stock Problem)
Dados de entrada: Padroes = Conjunto dos padres de corte Barras =
Conjunto dos tipos de barras a serem produzidas perda i = perda, em
cm, com o uso do padro de corte i demanda j = quantidade de barras
do tipo j requeridas a ij = nmero de barras do tipo j existentes no
padro i compr j = comprimento, em cm, da barra do tipo j Variveis
de deciso: x i = Nmero de vezes em que se usa o padro de corte
i
Slide 157
157 Problema de Corte de Estoque (3) (Cutting Stock Problem)
Primeiro passo: Estabelecimento dos padres de corte Barras
Padro2m3m4mPerda 10110 20201 31011 42100 53001
Slide 158
158 Problema de Corte de Estoque (3) (Cutting Stock Problem)
Perda referente aos padres de corte Perda referente ao excesso de
barras produzidas Segundo passo: Modelagem do problema
Slide 159
159 Problema da Mochila 0-1 dado um conjunto de objetos, uma
unidade de cada H uma mochila de capacidade cap para colocar os
objetos Cada objeto tem associado um peso w j e um valor de retorno
p j se for alocado mochila Determinar quais objetos devem ser
alocados mochila de forma que o valor de retorno seja o maior
possvel Dados de entrada: Objetos = Conjunto dos diferentes tipos
de objeto cap = Capacidade da mochila w j = peso (weight) do objeto
j p j = benefcio (profit) proporcionado pelo uso do objeto j
Variveis de deciso: x j = 1 se o objeto j for alocado mochila e
zero, caso contrrio
Slide 160
160 Problema da Mochila 0-1: modelo de programao linear
Maximizar o benefcio pelo uso dos objetos (Levar os objetos mais
valiosos) A capacidade da mochila no pode ser superada Apenas uma
unidade de cada objeto pode ser alocada mochila
Slide 161
161 Problema da Mochila 0-1 Mltipla Dados de entrada: Objetos =
Conjunto dos diferentes tipos de objeto Mochilas = Conjunto dos
diferentes tipos de mochila cap i = Capacidade da mochila i w j =
peso (weight) do objeto j p j = benefcio (profit) proporcionado
pelo uso do objeto j Variveis de deciso: x ij = 1 se o objeto j for
alocado mochila i e zero, caso contrrio
Slide 162
162 Problema da Mochila 0-1 Mltipla: modelo de programao linear
Maximizar o benefcio pelo uso dos objetos (Levar os objetos mais
valiosos) A capacidade de cada mochila i no pode ser superada Cada
objeto j, se for usado, deve ser alocado uma nica mochila i Apenas
uma unidade do objeto j pode ser alocada mochila i
Slide 163
163 Problema da Mochila Inteira Mltipla Dados de entrada:
Objetos = Conjunto dos diferentes tipos de objeto Mochilas =
Conjunto dos diferentes tipos de mochila u j = quantidade de
objetos j disponveis cap i = Capacidade da mochila i w j = peso
(weight) do objeto j p j = benefcio (profit) proporcionado pelo uso
do objeto j Variveis de deciso: x ij = quantidade de objetos do
tipo j alocados mochila i
Slide 164
164 Problema da Mochila Inteira Mltipla: modelo de programao
linear Maximizar o benefcio pelo uso dos objetos (Levar os objetos
mais valiosos) A capacidade de cada mochila i no pode ser superada
Para cada objeto j s podem ser usados, no mximo, u j unidades A
quantidade de objetos do tipo j a serem alocados mochila do tipo i
inteira
Slide 165
165 Alocao Dinmica de Caminhes DESCRIO Frente 2 Frente 3
Mistura Desejada Frente 1 Carregadeira 1 Carregadeira 2 Caminho 3
Caminho 2 Caminho 4 Caminho 1
Slide 166
166 Funo Objetivo Desvio negativo de meta do parmetro j na
mistura (t/h) Desvio positivo de meta do parmetro j na mistura
(t/h) Peso por desvio negativo de meta para o parmetro j Peso por
desvio positivo de meta para o parmetro j Peso por desvio negativo
da produo Desvio negativo da meta de produo (t/h) Peso por desvio
positivo da produo Desvio positivo da meta de produo (t/h) Alocao
Dinmica de Caminhes
Slide 167
167 Restries da Mistura de Minrios Teor mximo admissvel Teor
mnimo admissvel Teor recomendado (meta de qualidade) Alocao Dinmica
de Caminhes
Slide 168
168 Restries relativas ao Ritmo de Lavra Ritmo de lavra mximo:
Ritmo de lavra mnimo: Ritmo de lavra recomendado (meta de produo):
Alocao Dinmica de Caminhes
170 Restries ligadas Alocao das Carregadeiras (1) F1 Cg1 Cg2
Cg3 F2 Alocao Dinmica de Caminhes Em uma frente s pode estar
operando uma carregadeira, no mximo
Slide 171
171 Restries ligadas Alocao das Carregadeiras (2) Cg1 F1 F2 Cg2
Alocao Dinmica de Caminhes Uma carregadeira pode ser alocada a uma
frente, no mximo:
Slide 172
172 Restries relativas Produo das Carregadeiras: Respeito
Capacidade mxima da carregadeira alocada cada frente Respeito
Capacidade mnima da carregadeira alocada cada frente Alocao Dinmica
de Caminhes
Slide 173
173 O nmero de viagens que cada caminho l faz cada frente i em
uma hora depende de seu tempo de ciclo: Ca2 F1 F2 F3 Ca1 Alocao
Dinmica de Caminhes
Slide 174
174 Restries relativas Compatibilidade dos Caminhes F2 Ca1Cgk
Seento 0 at 4 (60/15) Seento 0 Alocao Dinmica de Caminhes
Slide 175
175 Restries relativas Produo dos Caminhes Ca1 Ca2 Ca3 F1F2
Alocao Dinmica de Caminhes
Slide 176
176 Restries de Integralidade e No-negatividade Alocao Dinmica
de Caminhes
Slide 177
177 Determinao do Ritmo de Lavra Frente 2 Frente 3 Correia
Principal Hopper CA CO Carregadeira Frente 1 Carregador 1 Frente 4
CO Carregador 2 Frente 5 Frente 6 CA CO USINA - Produo -
Qualidade
Slide 178
178 Determinao do Ritmo de Lavra: Dados de Entrada Limites
inferior, superior e meta dos parmetros de controle (Fe, SiO 2, Al
2 O 3, P, etc); Produo mnima, mxima e a meta de produo, em ton/h,
para atender a usina; Frentes de lavra que podem ou no estar
disponveis (ativadas), com suas respectivas caractersticas qumicas,
ritmos de lavra desejados e mtodo de lavra (caminho ou correia);
Quantidade e modelos de carregadeiras disponveis; Produtividade
mnima e mxima das carregadeiras. CACO Cu (prod. max.)fixovaria com
a DM da CAR a correia Cl (prod. min.)fixo
Slide 179
179 Determinao do Ritmo de Lavra: Objetivos Determinar o ritmo
de lavra prximo da meta de produo Gerar um produto dentro de certas
especificaes e prximo s metas de qualidade Fazer a alocao dos
equipamentos de carga
Slide 180
180 Determinao do Ritmo de Lavra: Funo MultiObjetivo wdq j :
peso para o desvio da meta no parmetro j; wde j : peso para o
desvio fora dos limites de especificao no parmetro j; dnq j :
desvio negativo da meta no parmetro j; dpq j : desvio positivo da
meta no parmetro j; dne j : desvio negativo abaixo do limite mnimo
de especificao no parmetro j; dpe j : desvio positivo acima do
limite mximo de especificao no parmetro j; wp : peso para o desvio
da meta de produo; pn : desvio negativo da meta de produo; pp :
desvio positivo da meta de produo; wdp : peso para o desvio fora
dos limites de produo; dnp : desvio negativo abaixo do limite mnimo
de produo; dpp : desvio positivo acima do limite mximo de
produo;
Slide 181
181 Determinao do Ritmo de Lavra: Restries Restries relativas
aos limites e metas dos parmetros de controle: Teor do parmetro de
controle j no pode superar o limite mximo de especificao (tu j )
Teor do parmetro de controle j no pode ser menor que o limite mnimo
de especificao (tl j ) Teor do parmetro de controle j deve buscar a
meta de qualidade (tr j )
Slide 182
182 Ritmo total de lavra no pode ser menor que o limite mnimo
de produo (pl) Determinao do Ritmo de Lavra: Restries Restries de
Produo: Ritmo total de lavra no pode superar o limite mximo de
produo (pu) Ritmo total de lavra deve buscar a meta de produo
(pr)
Slide 183
183 Determinao do Ritmo de Lavra: Restries Restries de Produo
Por Frente: Ritmo de lavra na frente i no pode superar o limite
mximo de produo da carregadeira k na frente i (Cu ik ), o qual fixo
se o mtodo de lavra for caminho, mas varivel de acordo com a
distncia da carregadeira correia, se o mtodo de lavra for correia
transportadora. Ritmo de lavra na frente i no pode ser inferior ao
limite mnimo de produo da carregadeira k (Cl k )
Slide 184
184 Determinao do Ritmo de Lavra: Restries Restries relativas s
Carregadeiras: Em cada frente s pode haver uma carregadeira
operando O nmero de carregadeiras do modelo k utilizadas no pode
ultrapassar o nmero de carregadeiras disponveis desse modelo
(carregdisp k ) CAR modelo 13 unid 4 Frentes y 11 +y 21 +y 31 +y
41
198 Programao da produo: Dimensionamento de lotes (um nico
item) Restries: Conservao de fluxo em cada ms t>1: Restries:
Respeito capacidade de produo em cada ms t:
Slide 199
199 Programao da produo: Dimensionamento de lotes Considere uma
empresa que fabrica n produtos e deseja programar sua produo nos
prximos T perodos de tempo (= horizonte de planejamento) conhecida
a demanda de cada produto em cada perodo do horizonte de
planejamento Em cada perodo, os recursos necessrios para a produo
so limitados e renovveis, isto , uma quantidade de recursos est
disponvel e no depende de como foram utilizados nos perodos
anteriores. Exemplos de recursos renovveis: mo-de-obra, energia
eltrica, horas de mquina Exemplo de recurso no renovvel:
matria-prima que sobra em um perodo e pode ser usada nos perodos
seguintes H a possibilidade de estocagem de produtos de um perodo
para outro Dados de entrada do problema: d it : demanda do item i
no perodo t (i = 1,..., n; t = 1,..., T) disp t : disponibilidade
de recursos (renovveis) no perodo t r i : quantidade de recursos
necessrios para a produo de uma unidade do item i c it : custo de
produzir uma unidade do item i no perodo t h it : custo de estocar
uma unidade do item i no perodo t Variveis de deciso: x it : nmero
de itens do tipo i produzidos no perodo t e it : nmero de itens do
tipo i em estoque no final do perodo t Estoques iniciais do
horizonte de planejamento e i0 so dados
Slide 200
200 Programao da produo: Dimensionamento de lotes Funo
objetivo: (minimizar os custos de produo e estocagem) Equaes de
conservao de estoque: Restries de capacidade de produo: Garantia de
atendimento demanda: No-negatividade e integralidade:
Slide 201
201 Programao da produo: Dimensionamento de lotes Considere uma
fbrica de pr-moldados que produz dois tipos de vigas, cujas
demandas para as prximas 3 semanas so conhecidas Os produtos
utilizam os mesmos tipos de recursos, porm em quantidades
diferentes Suponha que apenas um centro de trabalho esteja
disponvel para a produo dos dois itens, cuja disponibilidade de 40
horas por perodo e que a produo de uma unidade do item 1 consuma 15
minutos (= 1/4 da hora) e uma unidade do item 2 consuma 20 minutos
(= 1/3 da hora) Os custos de produo por perodo, bem como os custos
de estocagem so conhecidos Os estoques iniciais dos dois produtos
so nulos Definir um plano de produo de modo que os pedidos sejam
atendidos ao menor custo de produo e estocagem Demanda de vigas
Perodo 1Perodo 2Perodo 3 Item 11590120 Item 2355080 Custos de
produo Perodo 1Perodo 2Perodo 3 Item 120 30 Item 220 30 Custos de
estocagem Perodo 1Perodo 2 Item 123 Item 22,53,5
Slide 202
202 Programao da produo: Seqenciamento em uma mquina Problema
de seqenciamento em uma mquina com penalidades por antecipao e
atraso da produo (PSUMAA). Tempo de preparao de mquina dependente
da seqncia de produo; Janelas de atendimento; Os objetivos: reduo
dos custos de manuteno do estoque (quando a produo antecipada) e
dos custos por atraso na produo.
Slide 203
203 Programao da produo: Seqenciamento em uma mquina
Caractersticas do PSUMAA: Uma mquina deve processar um conjunto de
n jobs; Cada job possui um tempo de processamento P i, uma data
inicial E i e uma data final T i desejadas para o trmino do
processamento; A mquina executa no mximo um job por vez e uma vez
iniciado o processamento de um job, o mesmo deve ser finalizado, ou
seja, no permitido a interrupo do processamento;
Slide 204
204 Programao da produo: Seqenciamento em uma mquina Todos os
jobs esto disponveis para processamento na data 0; Quando um job j
seqenciado imediatamente aps um job i, sendo estes pertencentes a
diferentes famlias de produtos, necessrio um tempo S ij para a
preparao da mquina; Assume-se, ainda, que a mquina no necessita de
tempo de preparao inicial;
Slide 205
205 Programao da produo: Seqenciamento em uma mquina permitido
tempo ocioso entre a execuo de dois jobs consecutivos. Os jobs
devem ser finalizados dentro da janela de tempo [ E i, T i ],
denominada janela de entrega. Se o job i for finalizado antes de E
i ento h um custo de manuteno de estoque. Caso o job seja
finalizado aps T i ento h associado um custo por atraso (que pode
ser uma multa imposta por contratos de prestao de servio), alm de
insatisfao do cliente. Os jobs que forem finalizados dentro da
janela de entrega no proporcionaro nenhum custo para a empresa; Os
custos unitrios por antecipao e atraso da produo so dependentes dos
jobs. Objetivo: minimizao do somatrio dos custos de antecipao e
atraso da produo.
Slide 206
206 Programao da produo: Seqenciamento em uma mquina Dados de
Entrada: n : nmero de jobs a serem processados; P i : tempo de
processamento do job i ; E i : data de incio do perodo de entrega
do job i ; T i : data de trmino do perodo de entrega do job i ; S
ij : tempo de preparao da mquina necessrio para processar job j
depois do job i ; i : custos de antecipao da produo do job i por
unidade de tempo; i : custos de atraso da produo do job i por
unidade de tempo.
Slide 207
207 Programao da produo: Seqenciamento em uma mquina Variveis
de Deciso: s i : a data de incio do processamento do job i ; e i :
o tempo de antecipao do job i ; t i : o tempo de atraso do job i ;
Jobs Fictcios: 0 : antecede imediatamente o primeiro job na seqncia
de produo; n + 1 : sucede imediatamente o ltimo job na seqncia de
produo; Observao: P 0 e P n+1 so iguais a zero, S 0i =0 e S i, n+1
=0 i = 1,2,..., n.
Slide 208
208 Programao da produo: Seqenciamento em uma mquina Funo
Objetivo Minimizar o somatrio dos custos totais de antecipao e
atraso da produo (0)
Slide 209
209 Programao da produo: Seqenciamento em uma mquina Restries
Um job j s pode ser iniciado imediatamente aps um job i, sem nenhum
job intermedirio, depois de preparar a mquina de i para j e
completado o processamento do job i : onde: M uma constante de
valor suficientemente grande (3)
Slide 210
210 Programao da produo: Seqenciamento em uma mquina Restries
Quando j sucede i ( y ij =1), tm-se: Quando j no sucede i ( y ij
=0), tm-se: (3)
Slide 211
211 Programao da produo: Seqenciamento em uma mquina Restries:
Cada job j tem somente um job i imediatamente antecessor: Cada job
i tem somente um job j imediatamente sucessor: (4) (5)
Slide 212
212 Programao da produo: Seqenciamento em uma mquina Restries:
O tempo de antecipao e i [ 0, ( E i P i s i ) ] determinado pelas
restries: O tempo de atraso t i [ 0, ( s i + P i T i ) ]
determinado pelas restries: (6) (7) (8) (9)
Slide 213
213 Mina 2 Mina 3 Mina 1 Problema de Seleo de Projetos Mineiros
Concorrentes Mina m...... Projeto 1Projeto 2Projeto 3Projeto n...
Projeto 1Projeto 2Projeto 3Projeto n... Projeto 1Projeto 2Projeto
3Projeto n... Projeto 1Projeto 2Projeto 3Projeto n... Produo VPL
Meta de Produo Em cada mina apenas uma opo de projeto pode ser
escolhida; O objetivo maximizar o VPL respeitando a meta de
produo.
Slide 214
214 Problema de Seleo de Projetos Mineiros Concorrentes Ex. de
opes de projeto por mina
Slide 215
215 Exemplo de Problema de Seleo de Projetos Mineiros
Concorrentes 123...16 1884.42929.56922.04...897.42
2177.28149.92199.85...247.04... 7111.63106.84103.42...126.67
Exemplo de VPL ($x10 6 ): 123...16 14043...45 210...12.5... 7222 4
Exemplo de Produo (Mt):
Slide 216
216 Modelo de Programao Matemtica para o Problema de Seleo de
Projetos Considere: Minas: conjunto de minas; Opcoes: conjunto de
opes de projeto em cada mina; VPL ij : Valor Presente Liquido do
projeto j na mina i; prod ij : produo do projeto j na mina i; M:
meta de produo; Pfalta: penalidade por produo inferior meta
estabelecida; Pexc: penalidade por produo superior meta
estabelecida.
Slide 217
217 Modelo de Programao Matemtica para o Problema de Seleo de
Projetos
Slide 218
218 Heursticas construtivas e de refinamento: Fundamentao e
aplicaes Marcone Jamilson Freitas Souza Alexandre Xavier Martins
Tatiana Alves Costa Jos Maria do Carmo Bento Alves Frederico
Augusto Coimbra Guimares Tlio ngelo Machado Toffolo Departamento de
Computao Homepage: http://www.decom.ufop.br/prof/marcone E-mail:
[email protected]
Slide 219
219 Problema do Caixeiro Viajante Dado um conjunto de cidades e
uma matriz de distncias entre elas PCV consiste em encontrar uma
rota para um Caixeiro Viajante tal que este: parta de uma cidade
origem passe por todas as demais cidades uma nica vez retorne
cidade origem ao final do percurso percorra a menor distncia
possvel Rota conhecida como ciclo hamiltoniano
Slide 220
220 Problema do Caixeiro Viajante
Slide 221
221 Problema do Caixeiro Viajante
Slide 222
222 Formulao Matemtica para o Problema do Caixeiro Viajante
Dados de entrada: Cidades: Conjunto de cidades d ij = distncia
entre as cidades i e j Variveis de deciso: x ij = 1 se a aresta
(i,j) ser usada; 0, caso contrrio f ij = quantidade de fluxo de i
para j Funo objetivo:
Slide 223
223 Formulao Matemtica para o Problema do Caixeiro Viajante 1.
De cada cidade i s sai uma aresta: 2. A cada cidade j s chega uma
aresta: i i Restries:
Slide 224
224 Formulao Matemtica para o Problema do Caixeiro Viajante 3.
O fluxo que chega a uma cidade i menos o que sai igual a uma
unidade: 4. O fluxo mximo em cada aresta igual a n-1, onde n o
nmero de cidades: ff - 1 i 5. Integralidade e no negatividade:
Slide 225
225 Problema do Caixeiro Viajante Complexidade Considerando PCV
simtrico (d ij = d ji ), para n cidades h (n-1)!/2 rotas possveis
Para n = 20 cidades, h 10 16 rotas possveis. Um computador que
avalia uma rota em 10 -8 segundos gastaria cerca de 19 anos para
encontrar a melhor soluo por enumerao completa Mtodos de enumerao
implcita, tais como branch-and-bound, embutidos em solvers, podem
reduzir significativamente este tempo No h garantia de que isso
sempre ocorra
Slide 226
226 Problema do Caixeiro Viajante Complexidade Para dimenses
mais elevadas (> 50 cidades), a resoluo por modelos de programao
matemtica proibitiva em termos de tempos computacionais PCV da
classe NP-difcil: ainda no existem algoritmos exatos que o resolvam
em tempo polinomial medida que n cresce, o tempo de execuo cresce
exponencialmente PCV resolvido por meio de heursticas:
Procedimentos que seguem uma intuio para resolver o problema (forma
humana de resolver o problema, fenmenos naturais, processos
biolgicos, etc.) No garantem a otimalidade da soluo final Em geral,
produzem solues finais de boa qualidade rapidamente
Slide 227
227 Heursticas Construtivas Consistem em construir uma soluo
passo a passo, elemento por elemento De refinamento Consistem em
efetuar modificaes na soluo construda, de forma a tentar
melhor-la
Slide 228
228 Heurstica de construo gulosa Funcionamento: Constri uma
soluo, elemento por elemento A cada passo adicionado um nico
elemento candidato O candidato escolhido o melhor segundo um certo
critrio O mtodo se encerra quando todos os elementos candidatos
foram analisados
Slide 229
229 Heursticas construtivas para o Problema do Caixeiro
Viajante Vizinho mais prximo Idia central: Construir uma rota passo
a passo, adicionando soluo corrente a cidade mais prxima (ainda no
visitada) da ltima cidade inserida Insero mais barata Idia central:
Construir uma rota passo a passo, partindo de rota inicial
envolvendo 3 cidades e adicionar a cada passo, a cidade k (ainda no
visitada) entre a ligao (i, j ) de cidades j visitadas, cujo custo
de insero seja o mais barato
236 Heurstica da Insero Mais Barata para o Problema do Caixeiro
Viajante Insero mais barata Idia central: Construir uma rota passo
a passo, partindo de rota inicial envolvendo 3 cidades (obtidas por
um mtodo qualquer) e adicionar a cada passo, a cidade k (ainda no
visitada) entre a ligao (i, j ) de cidades j visitadas, cujo custo
de insero seja o mais barato
Slide 237
237 Heurstica da Insero Mais Barata para o Problema do Caixeiro
Viajante k t u j r i Cid.123456 1021491 2205972 3150386 4493026
5978202 6126620 d ij d ir d ri
Slide 238
238 k t u j r i Cid.123456 1021491 2205972 3150386 4493026
5978202 6126620 d ij d ir d ri Custo da insero = d ik + d kj - d ij
d ik d kj Heurstica da Insero Mais Barata para o Problema do
Caixeiro Viajante
244 Heursticas de refinamento Baseadas na noo de vizinhana A
cada soluo s est associado um conjunto de vizinhos s definidos por
um determinado tipo de movimento m s = s m O tipo de movimento
dependente do problema
Slide 245
245 Heursticas de refinamento No PCV, um movimento m pode ser a
troca da ordem de visita entre duas cidades Exemplo: Dada a soluo s
= (6 1 3 2 4 5), so exemplos de vizinhos de s: s = (6 4 3 2 1 5) s
= (6 1 4 2 3 5)
Slide 246
246 PCV - Ex: Vizinhos de uma soluo s 1 4 3 2 5 6 Cid.123456
1021491 2205972 3150386 4493026 5978202 6126620 Distncia Total s =
20 2 1 5 1 9 2 s = (6 1 3 2 4 5)
Slide 247
247 PCV - Ex: Vizinhos de uma soluo s 1 4 3 2 5 6 Cid.123456
1021491 2205972 3150386 4493026 5978202 6126620 Distncia Total s =
27 2 5 2 s = (6 4 3 2 1 5) 6 3 9
Slide 248
248 PCV - Ex: Vizinhos de uma soluo s 1 4 3 2 5 6 Cid.123456
1021491 2205972 3150386 4493026 5978202 6126620 Distncia Total s =
29 4 1 5 s = (6 1 4 2 3 5) 2 9 8
Slide 249
249 Exemplos de vizinhos no Problema de Roteamento de Veculos
(Vehicle Routing Problem) 3 4 5 2 6 7 9 11 (9) (12) (13) (4) (10)
[50] (10) (7) (10) (5) (10) (3) (10) 13 15 14 8 10 12 16 Soluo
s
Slide 250
250 Exemplos de vizinhos no Problema de Roteamento de Veculos
(Vehicle Routing Problem) 3 4 5 2 6 7 9 11 (9) (12) (13) (4) (10)
[50] (10) (7) (10) (5) (10) (3) (10) 13 15 14 8 10 12 16 Soluo s s
obtida pela realocao de um cliente de uma rota para outra rota
(realocao inter-rota)
Slide 251
251 Exemplos de vizinhos no Problema de Roteamento de Veculos
(Vehicle Routing Problem) 3 4 5 2 6 7 9 11 (9) (12) (13) (4) (10)
[50] (10) (7) (10) (5) (10) (3) (10) 13 15 14 8 10 12 16 Soluo s s
obtida pela troca de clientes entre rotas (movimento inter-rotas)
(Clientes 11 e 14 mudam de rota)
Slide 252
252 Problema de Alocao de Salas (Classroom Assignment Problem)
Diz respeito designao de salas para as aulas de uma instituio de
ensino O horrio das aulas previamente conhecido O PAS um
subproblema do Problema de Programao de Horrios (timetabling) Pode
ser tratado de forma isolada ou de forma integrada programao de
horrios
Slide 253
253 Problema de Alocao de Salas (Classroom Assignment Problem)
Restries: No pode haver sobreposio de turmas; As salas tm que
comportar as turmas etc. Objetivos: Manter as aulas de uma mesma
turma em uma mesma sala ao longo da semana; Minimizar o fluxo de
alunos mudando de sala aps uma aula; Sempre que possvel, alocar a
uma mesma sala alunos de um mesmo curso e perodo etc.
Slide 254
254 Problema de Alocao de Salas (Classroom Assignment Problem)
Movimento de Realocao
Slide 255
255 Problema de Alocao de Salas (Classroom Assignment Problem)
Movimento de Troca
Slide 256
256 Problema de Alocao de Salas (Classroom Assignment Problem)
Algumas possveis estruturas de vizinhana: N 1 (s) = {s | s s
movimento de realocao } N 2 (s) = {s | s s movimento de troca }
N(s) = {s | s s mov. de realocao ou troca }
Slide 320
320 Operador OX para o PCV p 1 = (6 3 8 | 2 4 1 | 5 7 9) p 2 =
(1 2 7 | 4 6 5 | 8 9 3) f 1 = (x x x | 2 4 1 | x x x) Ordem de
visita de p 2 = {8,9,3,1,2,7,4,6,5}
Slide 322
322 Operador OX para o PCV p 1 = (6 3 8 | 2 4 1 | 5 7 9) p 2 =
(1 2 7 | 4 6 5 | 8 9 3) f 1 = (x x x | 2 4 1 | x x x) Ordem de
visita de p 2 = {8,9,3,1,2,7,4,6,5} f 1 = (x x x | 2 4 1 | 8 9
x)
Slide 324
324 Operador OX para o PCV p 1 = (6 3 8 | 2 4 1 | 5 7 9) p 2 =
(1 2 7 | 4 6 5 | 8 9 3) f 1 = (x x x | 2 4 1 | x x x) Ordem de
visita de p 2 = {8,9,3,1,2,7,4,6,5} f 1 = (7 x x | 2 4 1 | 8 9
3)
Slide 326
326 Operador OX para o PCV p 1 = (6 3 8 | 2 4 1 | 5 7 9) p 2 =
(1 2 7 | 4 6 5 | 8 9 3) f 1 = (x x x | 2 4 1 | x x x) Ordem de
visita de p 2 = {8,9,3,1,2,7,4,6,5} f 1 = (7 6 5 | 2 4 1 | 8 9
3)