Transcript of 1 Introdução à Otimização: Programação Linear Marcone Jamilson Freitas Souza Departamento de...
- Slide 1
- 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:
marcone.freitas@yahoo.com.br
- 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
- Slide 4
- 4 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
- Slide 5
- 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
- Slide 90
- 90 Mtodo das Duas Fases VBx1x1 x2x2 x3x3 x4x4 x5x5 (L 1 )x1x1
101002 (L 2 )x5x5 001111 (L 3 )x2x2 010102 (L 4 )00-20z-6 Soluo
tima: x* = (2,2); z* = 6
- Slide 91
- 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
- Slide 169
- 169 90 (t/h)1000 (t/h)0,1090 >= 100 100 (t/h)1000
(t/h)0,10100 >= 100 Restrio relativa Relao Estril/Minrio Alocao
Dinmica de Caminhes
- Slide 170
- 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:
marcone.freitas@yahoo.com.br
- 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
- Slide 230
- 230 PCV Vizinho mais Prximo Exemplo - Passo 1 1 4 ijd ij 611
622 636 646 652 3 2 5 6 Cid.123456 1021491 2205972 3150386 4493026
5978202 6126620 Distncia Total = 1 1
- Slide 231
- 231 PCV Vizinho mais Prximo Exemplo - Passo 2 1 4 ijd ij 122
131 144 159 3 2 5 6 Cid.123456 1021491 2205972 3150386 4493026
5978202 6126620 Distncia Total = 1 + 1 = 2 1 1
- Slide 232
- 232 PCV Vizinho mais Prximo Exemplo - Passo 3 1 4 ijd ij 325
343 358 3 2 5 6 Cid.123456 1021491 2205972 3150386 4493026 5978202
6126620 Distncia Total = 2 + 3 = 5 1 1 3
- Slide 233
- 233 PCV Vizinho mais Prximo Exemplo - Passo 4 1 4 ijd ij 429
452 3 2 5 6 Cid.123456 1021491 2205972 3150386 4493026 5978202
6126620 Distncia Total = 5 + 2 = 7 1 1 3 2
- Slide 234
- 234 PCV Vizinho mais Prximo Exemplo - Passo 5 1 4 ijd ij 527 3
2 5 6 Cid.123456 1021491 2205972 3150386 4493026 5978202 6126620
Distncia Total = 7 + 7 = 14 1 1 3 2 7
- Slide 235
- 235 PCV Vizinho mais Prximo Exemplo Passo final: Insero forada
1 4 3 2 5 6 Cid.123456 1021491 2205972 3150386 4493026 5978202
6126620 Distncia Total = 14 + 2 = 16 1 1 3 2 7 2
- Slide 236
- 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
- Slide 239
- 239 PCV Insero mais Barata Exemplo - Passo 1 1 4 3 2 5 6
Cid.123456 1021491 2205972 3150386 4493026 5978202 6126620 Distncia
Total = 11 2 7 2
- Slide 240
- 240 PCV Insero mais Barata Exemplo - Passo 2 1 4 ikjd ik + d kj
d ij 6121 + 2 2 = 1 6326 + 5 2 = 9 6426 + 9 2 = 3 2152 + 9 7 = 4
2355 + 8 7 = 6 2459 + 2 7 = 4 5169 + 1 2 = 8 5368 + 6 2 = 12 5462 +
6 2 = 6 3 2 5 6 Cid.123456 1021491 2205972 3150386 4493026 5978202
6126620 Distncia Total = 11 + 1 = 12 2 7 2 1 2
- Slide 241
- 241 PCV Insero mais Barata Exemplo - Passo 3 1 4 ikjd ik + d kj
d ij 6316 + 1 1 = 6 6416 + 4 1 = 9 1321 + 5 2 = 4 1424 + 9 2 = 11
2355 + 8 7 = 6 2459 + 2 7 = 4 5368 + 6 2 = 12 5462 + 6 2 = 6 3 2 5
6 Cid.123456 1021491 2205972 3150386 4493026 5978202 6126620
Distncia Total = 12 + 4 = 16 7 2 1 2 5 1
- Slide 242
- 242 PCV Insero mais Barata Exemplo Passo final 1 4 ikjd ik + d
kj d ij 6416 + 4 1 = 9 1434 + 3 1 = 6 3423 + 9 5 = 7 2459 + 2 7 = 4
5462 + 6 2 = 6 3 2 5 6 Cid.123456 1021491 2205972 3150386 4493026
5978202 6126620 Distncia Total = 16 + 4 = 20 7 2 1 5 1 9 2
- Slide 243
- 243 PCV Insero mais Barata Exemplo Soluo final 1 3 2 5 6
Cid.123456 1021491 2205972 3150386 4493026 5978202 6126620 Distncia
Total = 16 + 4 = 20 2 1 5 1 9 2 s = (6 1 3 2 4 5) 4
- Slide 244
- 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)