Vous êtes sur la page 1sur 58

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

7123
Slide 8

8123
Slide 9

9123
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 Nonegatividade 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 Nonegatividade A quantidade a ser retomada em cada pilha i est limitada Qu i Admitese 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 nopositivas: 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-andBound 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 4202441 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 5240432 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 <= 3
Slide 185

185 Quando for definido um ritmo de lavra mnimo (ritmin i ) para uma frente i e ela
estiver disponvel (dispfrente i ), ento esse ritmo mnimo tem que ser respeitado:
Determinao do Ritmo de Lavra: Restries Restries relativas ao Ritmo de Lavra:
Quando for definido um ritmo de lavra mximo (ritmax i ) para uma frente i e ela
estiver disponvel (dispfrente i ), ento esse ritmo mximo tem que ser respeitado:
Slide 186

186 O ritmo de lavra total das frentes que operam com caminho no pode ultrapassar
a capacidade do Hopper O ritmo de lavra total das frentes que operam com o
carregador l no pode ultrapassar a capacidade do carregador Restries de
Capacidade: Determinao do Ritmo de Lavra: Restries F1 F2 Carregador 1 1400
t/h x 1 + x 2 <= 1400 Hopper 2000 t/h CO F3 F4 CA x 3 + x 4 <= 2000
Slide 187

187 COMPOSIO DE LOTES DE MINRIO DE FERRO DA MINA CAU


Otimizar a coleta de minrio dos ptios de estocagem: Produzir solues que melhor
se aproximem das metas de qualidade estabelecidas Ao utilizar minrio de uma pilha,
tentar elimin-la, sempre que possvel Respeitar as restries operacionais dos ptios
Slide 188

188 O MODELO BASEADO EM PROGRAMAO POR METAS Parmetros do


modelo Ptio: Conjunto de ptios, no caso, Ptio = {A, B, C}; Baliza(k): Conjunto de
balizas do ptio k. Para cada ptio k o nmero de balizas nb varia no intervalo [1,
nb(k)]. Para o ptio A, tem-se: Baliza (A) = {-25, -20, -15,...,330}, isto , nb(A) = 71;
Cada pilha situada em uma dada baliza i de um dado ptio k, dividido em duas
partes: uma superior, denotada por sup, outra inferior, denotada por inf. Eliminar ijk :
Parmetro que assume o valor 1 se a pilha situada na baliza i, parte j do ptio k deve
ser completamente eliminada, como desejo do operador ; ElParc ijk : Quantidade de
minrio, em toneladas, a ser eliminado da parte j da baliza i do ptio k; Qu ijk :
Quantidade de minrio, em toneladas, existente na baliza i do ptio k, na parte j; tem
ijl : Parmetro que assume valor 1 se h um conjunto de pilhas contguas iniciando na
baliza i, parte j, do ptio k. Para as demais balizas, o parmetro assume o valor zero;
ncp k : Nmero mximo de conjuntos de pilhas contguas a serem retiradas do ptio k
nas posies inf e sup; S: Conjunto dos parmetros de qualidade analisados no
minrio; t ijkl : Teor do parmetro l na parte j da pilha situada na baliza i do ptio k
(%); tr l : Teor recomendado para o parmetro l no produto final (%); lig l : Limite
inferior de garantia, isto , teor mnimo admissvel para o parmetro l no produto final
(%); lsg l : Limite superior de garantia, isto , teor mximo admissvel para o
parmetro l no produto final (%); COMPOSIO DE LOTES DE MINRIO DE
FERRO DA MINA CAU
Slide 189

189 O MODELO BASEADO EM PROGRAMAO POR METAS Parmetros do


modelo Sejam os seguintes parmetros de entrada: lie l : Limite inferior de
especificao, isto , teor mnimo recomendvel para o parmetro l no produto final
(%); lse l : Limite superior de especificao, isto , teor mximo recomendvel para o
parmetro l no produto final (%); l + : Penalidade por desvio positivo em relao ao
limite superior de garantia do parmetro l no produto final; l - : Penalidade por desvio
negativo em relao ao limite inferior de garantia do parmetro l no produto final; l
+ : Penalidade por desvio positivo em relao ao limite superior de especificao do
parmetro l no produto final; l - : Penalidade por desvio negativo em relao ao limite
inferior de especificao do parmetro l no produto final; l + : Penalidade por desvio
negativo em relao meta de qualidade para o parmetro l no produto final; l - :
Penalidade por desvio positivo em relao meta de qualidade para o parmetro l no
produto final; + : Penalidade por desvio negativo na meta de produo; - : Penalidade
por desvio positivo na meta de produo; P m : meta de produo (t); COMPOSIO
DE LOTES DE MINRIO DE FERRO DA MINA CAU
Slide 190

190 Variveis de deciso x ijk :quantidade de minrio, em toneladas, a ser retirado da


parte j da baliza i do ptio k; y ijk : z ijk : dg l + : Desvio positivo do parmetro l no
produto final (t), em relao ao limite superior de garantia; dg l - : Desvio negativo do
parmetro l no produto final (t), em relao ao limite inferior de garantia; de l + :
Desvio positivo do parmetro l no produto final (t), em relao ao seu limite superior
de especificao; de l - : Desvio negativo do parmetro l no produto final (t), em
relao ao seu limite inferior de especificao; dr l + : Desvio positivo do parmetro l
no produto final (t), em relao meta; dr l - : Desvio negativo do parmetro l no
produto final (t), em relao meta; P - : Desvio negativo em relao meta de
produo (t); P + : Desvio positivo em relao meta de produo (t); dbaliza ijk :
Quantidade de minrio que resta na pilha localizada na baliza i, parte j do ptio k. O
MODELO BASEADO EM PROGRAMAO POR METAS se a pilha que est na
baliza i do ptio k, parte j, pode ser usada caso contrrio se a pilha que est na baliza i
do ptio k, parte j, ser usada caso contrrio COMPOSIO DE LOTES DE
MINRIO DE FERRO DA MINA CAU
Slide 191

191 O MODELO BASEADO EM PROGRAMAO POR METAS Funo objetivo


Restries de Qualidade e Produo COMPOSIO DE LOTES DE MINRIO DE
FERRO DA MINA CAU
Slide 192

192 O MODELO BASEADO EM PROGRAMAO POR METAS Restries de


Seqenciamento Horizontal Restries de Seqenciamento Vertical Restries Para
Forar Retomada Concentrada COMPOSIO DE LOTES DE MINRIO DE
FERRO DA MINA CAU
Slide 193

193 O MODELO BASEADO EM PROGRAMAO POR METAS Restries Para


Eliminar Parcial e Totalmente Restrio Para Tentar Limpar Pilha COMPOSIO
DE LOTES DE MINRIO DE FERRO DA MINA CAU
Slide 194

194 Programao da produo: Dimensionamento de lotes Empresas de manufatura


fabricam diversos tipos de produtos solicitados por diferentes clientes Produtos
devem estar prontos em datas previamente agendadas Fbricas tm capacidade de
produo limitada (mquinas, mo-de- obra etc) Necessrio se faz planejar a produo
Decidir o qu produzir, quanto produzir, isto , dimensionar os lotes de produo, e

quando produzir (em cada perodo do horizonte de planejamento) A necessidade de


antecipao da fabricao de produtos (estocados de um perodo para outro) acarreta
custos de estocagem e algumas dificuldades operacionais No planejamento da
produo deseja-se determinar o tamanho dos lotes de produo para atender a
demanda na data solicitada, de modo que a soma dos custos de produo e estocagem
seja mnima
Slide 195

195 Programao da produo: Dimensionamento de lotes (um nico item) Uma


empresa recebe uma encomenda para entregar um produto ao longo de um perodo de
tempo. So dadas para cada ms: a demanda desse produto, o custo de produo e o
custo de estocagem. Considere que o estoque no incio de 3 unidades. Elabore um
modelo de PLI que minimize o custo total de produo e estocagem. Ms Cap.
Produo (unid) Demanda (unid.) Custo estocagem (R$) Custo de prod. (R$) 171065
27253 37937 47684 57865 67729
Slide 196

196 Programao da produo: Dimensionamento de lotes (um nico item) Dados de


entrada: Mes = conjunto dos meses de produo cprod t = custo de produo no ms t
cest t = custo de estoque no ms t demanda t = demanda no ms t cap t = capacidade
de produo no ms t estinicial = estoque inicial Variveis de deciso: x t =
quantidade do produto a ser produzida no ms t e t = quantidade do produto a ser
estocada no ms t
Slide 197

197 Programao da produo: Dimensionamento de lotes (um nico item) Funo


objetivo: minimizar os custos de produo e de estocagem Restries: Conservao
de fluxo no final do ms 1:
Slide 198

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: Nonegatividade 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=211

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=5113
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=71132
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
27212
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 257

257 CARGACam 1 Cam 2...Cam V F1F1 (Car 2, 0)5X...4 F2F2 (D, 0)00...0 F3F3
(Car 1, 1)24...1 F (Car 5, 1)09...3 Representao de uma Soluo Planejamento
Operacional de Lavra com Alocao Dinmica de Caminhes
Slide 258

258 Seis tipos de movimentos para explorar o espao de solues: Movimento Carga
Movimento Nmero de Viagens Movimento Realocar Viagem de um Caminho
Movimento Realocar Viagem a uma Frente Movimento Operao Caminho
Movimento Operao Frente Cada movimento define um tipo de vizinhana
Planejamento Operacional de Lavra com Alocao Dinmica de Caminhes
Slide 259

259 Movimento Carga - N CG (s) Carga F1F1 ( Car 1,1) F2F2 (D,0) F3F3 ( Car 3,0)
F4F4 ( Car 4,1) Carga F1F1 ( Car 1,1) F2F2 ( Car 4,1) F3F3 ( Car 3,0) F4F4 (D,0)
Vizinhana N CG Planejamento Operacional de Lavra com Alocao Dinmica de
Caminhes
Slide 260

260 Carga F1F1 ( Car 1,1) F2F2 (D,0) F3F3 ( Car 3,0) F4F4 ( Car 4,1) Carga F1F1
( Car 1,0) F2F2 (D,0) F3F3 ( Car 3,0) F4F4 ( Car 4,1) Carga F1F1 ( Car 1,1) F2F2
(D,0) F3F3 ( Car 3,0) F4F4 ( Car 4,1) Carga F1F1 ( Car 1,0) F2F2 (D,0) F3F3 ( Car
3,1) F4F4 ( Car 4,1) Desativar operao de uma carregadeira alocada a uma frente
Ativar operao de uma carregadeira alocada a uma frente Movimento Operao
Frente - N OF (s) Vizinhana N OF Planejamento Operacional de Lavra com
Alocao Dinmica de Caminhes
Slide 261

261 Movimento Nmero de Viagens - N NV (s) CargaCam 1 Cam 2 F1F1 (Car


1,1)6X F2F2 (D,0)00 F3F3 (Car 3,0)00 F4F4 (Car 4,1)43 Decrscimo no nmero de
viagens de um caminho a uma frente Acrscimo no nmero de viagens de um
caminho a uma frente CargaCam 1 Cam 2 F1F1 (Car 1,1)5X F2F2 (D,0)00 F3F3
(Car 3,0)00 F4F4 (Car 4,1)43 CargaCam 1 Cam 2 F1F1 (Car 1,1)6X F2F2 (D,0)00
F3F3 (Car 3,0)00 F4F4 (Car 4,1)43 CargaCam 1 Cam 2 F1F1 (Car 1,1)6X F2F2
(D,0)00 F3F3 (Car 3,0)00 F4F4 (Car 4,1)44 +1 Vizinhana N NV Planejamento
Operacional de Lavra com Alocao Dinmica de Caminhes
Slide 262

262 Movimento Realocar Viagem de um Caminho - N VC (s) CargaCam 1 Cam 2


F1F1 (Car 1,1)6X F2F2 (D,0)00 F3F3 (Car 3,0)00 F4F4 (Car 4,1)23 CargaCam 1
Cam 2 F1F1 (Car 1,1)5X F2F2 (D,0)00 F3F3 (Car 3,0)00 F4F4 (Car 4,1)33 1
Vizinhana N VC Planejamento Operacional de Lavra com Alocao Dinmica de
Caminhes
Slide 263

263 Movimento Realocar Viagem a uma Frente - N VF (s) CargaCam 1 Cam 2 F1F1
(Car 1,1)6X F2F2 (D,0)00 F3F3 (Car 3,0)00 F4F4 (Car 4,1)43 CargaCam 1 Cam 2
F1F1 (Car 1,1)6X F2F2 (D,0)00 F3F3 (Car 3,0)00 F4F4 (Car 4,1)34 1 Vizinhana N
VF Planejamento Operacional de Lavra com Alocao Dinmica de Caminhes
Slide 264

264 Movimento Operao Caminho - N OC (s) CargaCam 1 Cam 2 F1F1 (Car


1,1)6X F2F2 (D,0)00 F3F3 (Car 3,0)00 F4F4 (Car 4,1)43 CargaCam 1 Cam 2 F1F1
(Car 1,1)6X F2F2 (D,0)00 F3F3 (Car 3,0)00 F4F4 (Car 4,1)03 Vizinhana N OC
Planejamento Operacional de Lavra com Alocao Dinmica de Caminhes
Slide 265

265 Funo de avaliao de uma soluo s: Planejamento Operacional de Lavra com


Alocao Dinmica de Caminhes Feita por uma funo que penaliza o no
atendimento s restries e objetivos Restries (Requisitos essenciais): Produo da
mina dentro dos limites de especificao; Parmetros de controle respeitam os limites
de qualidade especificados; Relao estril/minrio dentro dos limites de
especificao; Taxa de utilizao dos caminhes inferior ao mximo possvel;
Produo dos equipamentos de carga respeita as capacidades de produo
especificadas. Objetivos (Requisitos no-essenciais): Atendimento s metas de
produo da mina Atendimento s metas de qualidade dos parmetros de controle
Atendimento relao estril/minrio desejada Taxa de utilizao de caminhes igual
meta de utilizao Utilizao do menor nmero possvel de caminhes.
Slide 266

266 Avaliao da soluo s quanto produo: Planejamento Operacional de Lavra


com Alocao Dinmica de Caminhes P :Produo de minrio (t/h); Pr :Meta de
produo de minrio (t/h); p :Peso associado avaliao da produo.
Slide 267

267 Avaliao da soluo s quanto qualidade: Planejamento Operacional de Lavra


com Alocao Dinmica de Caminhes Q j : Quantidade encontrada na mistura para o
parmetro j (t/h); Qr j : Quantidade recomendada para o parmetro j na mistura (t/h); j
q : Peso associado avaliao da qualidade do parmetro j; j q : Multiplicador
associado ao parmetro j.
Slide 268

268 Avaliao da soluo s quanto relao estril / minrio: Planejamento


Operacional de Lavra com Alocao Dinmica de Caminhes R : Produo de estril
na mistura (t/h); R r : Meta de Produo de estril na mistura (t/h); r : Peso associado
avaliao da relao estril/minrio
Slide 269

269 Avaliao da soluo s quanto taxa de utilizao dos caminhes: Planejamento


Operacional de Lavra com Alocao Dinmica de Caminhes U l : Carga transportada
pelo caminho l (t/h); Ur l : Meta de carga transportada pelo caminho l (t/h); l u :
Peso associado avaliao da utilizao do caminho l
Slide 270

270 Avaliao da soluo s quanto produo dos equipamentos de carga:


Planejamento Operacional de Lavra com Alocao Dinmica de Caminhes x i :
Ritmo de lavra da frente i (t/h); k : Equipamento de carga que est operando na frente
i; Cu k : Produo mxima do equipamento de carga k alocado frente i (t/h); k c :
Peso associado avaliao da produo do equipamento de carga k alocada frente i
Slide 271

271 Avaliao da soluo s quanto ao nmero de caminhes utilizados: Planejamento


Operacional de Lavra com Alocao Dinmica de Caminhes TU l : Taxa de
utilizao do caminho l, em %; n : Peso associado avaliao do nmero total de
caminhes utilizados
Slide 272

272 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 273

273 Modelagem Heurstica para o Problema de Seleo de Projetos 715738145 1


2354 Representao de uma soluo: 67 *Obs.: Com esta representao, a restrio de
que em cada mina um projeto tem que ser implementado automaticamente satisfeita
Slide 274

274 Explorao do espao de solues por meio do Movimento Substituio da


Opo Estrutura de Vizinhana para o Problema de Seleo de Projetos Soluo s:
Exemplo de vizinho s: gerado a partir de s, substituindo-se a opo implementada em
uma mina pela opo posterior 715738145 1 235467 715739145 1 235467
Slide 275

275 Avaliao da Soluo heurstica do Problema da Seleo de Projetos em que:


Minas = conjunto de minas; Opcoes = conjunto das opes de projeto em cada mina;
VPL i,S i = Valor Presente Lquido referente opo j da mina i; prod i,S i =
Produo referente opo j da mina i; Pfalta = Penalidade por produo inferior
meta; Pexc = Penalidade por produo superior meta; M = Meta de produo
especificada. Feita por funo que procura maximizar o VPL e penalizar a produo
inferior ou superior meta
Slide 276

276 Heursticas de refinamento (Princpio de funcionamento) Partir de uma soluo


inicial qualquer Caminhar, a cada iterao, de vizinho para vizinho de acordo com a
definio de vizinhana adotada, tentando melhorar a soluo construda
Slide 277

277 Mtodo da descida/subida (Descent/Uphill Method) Parte de uma soluo inicial


qualquer A cada passo analisa todos os possveis vizinhos Move somente para o
vizinho que representa uma melhora no valor atual da funo de avaliao. Em
problemas de minimizao, um vizinho s melhor que s quando f(s) < f(s)). Neste
caso, s passa a ser a nova soluo corrente O mtodo pra quando um timo local
(com respeito definio de vizinhana) encontrado
Slide 278

278 Funcionamento da Heurstica de Descida


Slide 279

279 Funcionamento da Heurstica de Descida


Slide 280

280 Funcionamento da Heurstica de Descida


Slide 281

281 Funcionamento da Heurstica de Descida Problema: Fica-se preso no primeiro


timo local
Slide 282

282 METAHEURSTICAS 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 283

283 Metaheursticas Mtodos heursticos, de carter geral, dotados de mecanismos


para escapar das armadilhas dos timos locais Princpio bsico: aceitar solues de
piora Podem ser baseados em Busca Local ou Busca Populacional. Os mtodos
baseados em Busca Local so fundamentados na noo de vizinhana: Dada uma
soluo s, diz-se que s um vizinho de s, se s obtido de s a partir de um movimento
m, isto : s s m A estrutura de vizinhana varia de acordo com o problema tratado Os
mtodos baseados em Busca Populacional partem de um conjunto de solues,
aplicando sobre estes operadores que visam melhoria desse conjunto.
Slide 284

284 Metaheursticas Exemplos de metaheursticas: de busca local: Busca Tabu


Simulated Annealing Iterated Local Search (ILS) Variable Neighborhood Search
(VNS) de busca populacional: Algoritmos Genticos Colnia de Formigas
Slide 285

285 Simulated Annealing: Fundamentao do mtodo Proposto por Kirkpatrick et al.


(1983) Simula o processo de recozimento de metais; Resfriamento rpido conduz a
produtos meta-estveis, de maior energia interna; Resfriamento lento conduz a
produtos mais estveis, estruturalmente fortes, de menor energia; Durante o
recozimento o material passa por vrios estados possveis
Slide 286

286 Simulated Annealing: Fundamentao do mtodo Analogia com um problema


combinatorial: Os estados possveis de um metal correspondem a solues do espao
de busca; A energia em cada estado corresponde ao valor da funo objetivo; A
energia mnima corresponde ao valor de uma soluo tima local, possivelmente
global.
Slide 287

287 Simulated Annealing: Fundamentao do mtodo A cada iterao do mtodo, um


novo estado gerado a partir do estado corrente por uma modificao aleatria neste;
Se o novo estado de energia menor que o estado corrente, esse novo estado passa a
ser o estado corrente; Se o novo estado tem uma energia maior que o estado corrente
em unidades, a probabilidade de se mudar do estado corrente para o novo estado : e /(kT), onde k = constante de Boltzmann e T = temperatura corrente; Este
procedimento repetido at se atingir o equilbrio trmico (passo de Metrpolis)
Slide 288

288 Simulated Annealing: Probabilidade de aceitao de um movimento de piora


Baseada na frmula: P(aceitao) = e - /T = variao de custo; T = temperatura
Temperatura Probabilidade de aceitao
Slide 289

289 Simulated Annealing: Fundamentao do mtodo No incio do processo, a


temperatura elevada e a probabilidade de se aceitar solues de piora maior; As
solues de piora so aceitas para escapar de timos locais; A probabilidade de se
aceitar uma soluo de piora depende de um parmetro, chamado temperatura;
Quanto menor a temperatura, menor a probabilidade de se aceitar solues de piora;
Slide 290

290 Simulated Annealing: Fundamentao do mtodo Atingido o equilbrio trmico, a


temperatura diminuda; A taxa de aceitao de movimentos de piora , portanto,
diminuda com o decorrer das iteraes; No final do processo, praticamente no se
aceita movimentos de piora e o mtodo se comporta como o mtodo da
descida/subida; O final do processo se d quando a temperatura se aproxima de zero e
nenhuma soluo de piora mais aceita, evidenciando o encontro de um timo local.
Slide 291

291 Algoritmo Simulated Annealing


Slide 292

292 Simulated Annealing: Prescries para o resfriamento


Slide 293

293 Simulated Annealing: Prescries para determinar a temperatura inicial


Slide 294

294 Determinao da temperatura inicial por simulao


Slide 295

295 Simulated Annealing: Consideraes Gerais Nmero mximo de iteraes em


uma dada temperatura calculado com base na dimenso do problema; Temperatura de
congelamento do sistema: quando se atingir, p.ex., T = 0,001 ou quando a taxa de
aceitao de movimentos cair abaixo de um valor predeterminado; Os parmetros
mais adequados para uma dada aplicao s podem ser obtidos por experimentao.
Slide 296

296 Resultados Computacionais do Problema de Seleo de Projetos Parmetros do


AG Parmetros do SA ParmetroValor Gerao de populaes200 Nmero de
indivduos em cada nova gerao20 Probabilidade de Mutao4% Probabilidade de
Crossover50% ParmetroValor SA max 500 Temperatura inicialObtida por simulao
(taxa de resfriamento)0.99
Slide 297

297 Resultados Computacionais do Problema de Seleo de Projetos Meta de


produo e penalidades por desvios de meta ParmetroValor meta de produo (M)90
Mt Pexc$15,00/t Pfalta$3,00/t
Slide 298

298 Resultados Computacionais do Problema de Seleo de Projetos Mtodo Melhor


VPL ($X10 6 ) VPL Mdio ($X10 6 ) Tempo Mdio de execuo (segundos)
AG2015-2,03 SA216721652,99 SA+Subida2180 2,99 Lingo2148-0,00
Microcomputador PC AMD Durom, 900 MHz, 128 MB RAM LINGO verso 7.0 SA
e SA+Subida desenvolvidos em Borland C++ 5.0 Algoritmos Genticos: linguagem e
equipamento no especificados Soluo tima: 2180 (obtida por enumerao
completa, em 180 segundos)
Slide 299

299 Proposto por Nenad Mladenovic & Pierre Hansen em 1997 Mtodo de Descida
em Vizinhana Varivel Explora o espao de solues atravs de trocas sistemticas
de estruturas de vizinhana Explora vizinhanas gradativamente mais distantes
Sempre que h melhora em uma certa vizinhana, retorna-se vizinhana menos
distante Variable Neighborhood Descent (VND)
Slide 300

300 Princpios bsicos: Um timo local com relao a uma vizinhana no


necessariamente corresponde a um timo com relao a outra vizinhana Um timo
global corresponde a um timo local para todas as estruturas de vizinhana Para
muitos problemas, timos locais com relao a uma vizinhana so relativamente
prximos Variable Neighborhood Descent (VND)
Slide 301

301 1Seja s 0 uma soluo inicial e r o nmero de estruturas de vizinhana; 2s s 0 ;


{Soluo corrente} 3k 1;{Tipo de estrutura de vizinhana} 4enquanto (k r) faa
5Encontre o melhor vizinho s N (k) (s); 6se ( f(s) < f(s) ) 7ento s s; k 1; 8seno k k +
1; 9fim-se; 10fim-enquanto; 11Retorne s; fim VND; Variable Neighborhood Descent
(VND)
Slide 302

302 Iterated Local Search (ILS) Pressuposto: Os timos locais de um problema de


otimizao podem ser gerados a partir de perturbaes na soluo tima local corrente
A perturbao precisa ser suficientemente forte para permitir que a busca local
explore diferentes solues e fraca o suficiente para evitar um reincio aleatrio
Slide 303

303 Iterated Local Search (ILS) Componentes do ILS: GeraSolucaoInicial:


BuscaLocal: Retorna uma soluo melhorada Perturbacao: Modifica a soluo
corrente guiando a uma soluo intermediria CriterioAceitacao: Decide de qual
soluo a prxima perturbao ser aplicada
Slide 304

304 Iterated Local Search (ILS) procedimento ILS s 0 SolucaoInicial s BuscaLocal(s


0 ) iter 0 enquanto (iter < iter max ) iter iter + 1 s perturbao(s, histrico) s
BuscaLocal(s) s CriterioAceitacao(s, s, s ) fim-enquanto retorne s se ( f(s) < f(s) ) faa
s s fim-se
Slide 305

305 Iterated Local Search (ILS) Combina intensificao com diversificao


Intensificao: obtida fazendo-se pequenas perturbaes na soluo tima corrente
Diversificao: obtida aplicando-se grandes perturbaes na soluo tima corrente
Slide 306

306 Utiliza 20 nveis de pertubao; Cada nvel n consiste em realizar n diferentes


movimentos de forma aleatria Busca Local: Mtodo VND (Variable Neighborhood
Search) Critrio de Parada: Tempo de processamento pr-determinado ILS aplicado
ao Planejamento Operacional de Lavra com Alocao Dinmica de Caminhes
Slide 307

307 Situaes reais em mineradoras; Instncias N o De Frentes N o de Parmetros de


Controles N o de Carregadeiras N o de Caminhes POLAD11710830
POLAD21710830 POLAD33210730 POLAD43210730 Problemas-teste: ILS
aplicado ao Planejamento Operacional de Lavra com Alocao Dinmica de
Caminhes
Slide 308

308 Instncia Procedimento IProcedimento II POLAD01 216,80 (1) 216,80 (2) 211,99
0,0 2638,830,2789,2 POLAD02 2751,79 (1) 2751,79 (2) 2731,71 0,0
5248,990,1822,1 POLAD03 1962,90 (1) 1584,50 (2) 585,30 80,6 3736,9471,0842,1
POLAD04 3021,83 (1) 2706,45 (3) 2706,45 3,6 59795,830,1819,4 Desempenho do
Algoritmo ILS: (1) Melhor soluo em 15 minutos de processamento; (2) Melhor
soluo em 240 minutos; (3) Soluo tima, obtida em 80 minutos de processamento.
ILS aplicado ao Planejamento Operacional de Lavra com Alocao Dinmica de
Caminhes
Slide 309

309 Algoritmos Genticos Os AGs fundamentam-se em uma analogia com processos


naturais de evoluo, nos quais, dada uma populao, os indivduos com
caractersticas genticas melhores tm maiores chances de sobrevivncia e de
produzirem filhos cada vez mais aptos, enquanto indivduos menos aptos tendem a
desaparecer As caractersticas dos indivduos, registradas em seus genes, so
transmitidas para seus descendentes e tendem a propagar-se por novas geraes
Caractersticas dos descendentes so parcialmente herdadas de seus pais (Crossover) e
parcialmente de novos genes criados durante o processo de reproduo (Mutao)
Slide 310

310 Operadores genticos CROSSOVER MUTAO


Slide 311

311 Algoritmos Genticos O objetivo de um AG o de tentar melhorar as qualidades


genticas de uma populao atravs de um processo de renovao iterativa das
populaes
Slide 312

312 Relao entre AG e Problema de Otimizao AGProblema de Otimizao


IndivduoSoluo de um problema PopulaoConjunto de solues
CromossomoRepresentao de uma soluo GeneParte da representao de uma
soluo AlelosValores que uma varivel pode assumir Crossover /
MutaoOperadores de busca
Slide 313

313 Estrutura de um AG bsico Selecione os pais Crossover Mutao Defina a


populao sobrevivente Avalie a populao Critrios de parada satisfeitos? Liste os
melhores indivduos Gere uma populao inicial Avalie a populao Gerao de uma
nova populao No Sim
Slide 314

314 Avaliao de cromossomos Feita pela funo de aptido (fitness) Em um


problema de maximizao pode ser a prpria funo objetivo Em um problema de
minimizao pode ser o inverso da funo objetivo
Slide 315

315 Fase de seleo Binary tournament selection: Selecionar dois indivduos


aleatoriamente O primeiro pai o indivduo com maior aptido Selecionar,
aleatoriamente, outros dois pais O segundo pai o indivduo com maior aptido nessa
nova seleo Aleatrio Roleta russa
Slide 316

316 Fase de reproduo Dois ou mais cromossomos passam por um processo de


mutao e/ou recombinao para gerar novos cromossomos filhos (offsprings)
Operador mutao clssico p = ( 0 1 0 1 ) p = ( 0 1 1 1 )
Slide 317

317 Fase de reproduo Operador crossover clssico (one point crossover):


Descendentes so formados a partir da reunio de segmentos de cada pai p 1 = ( 0 1 1
|100)p2=(101|010)O1=(011|010)O2=(101|100)
Slide 318

318 Operador crossover para o PCV Operador OX Operador crossover de dois pontos
de corte Cruzamento entre os pais geram dois filhos Filhos herdam a ordem de visita
dos pais
Slide 319

319 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 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 321

321 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 x x)
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 323

323 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 3)
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 325

325 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 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)
Slide 327

327 Sobrevivncia / morte de cromossomos Como selecionamos os cromossomos que


devem sobreviver? Sobrevivem os que possuem os melhores nveis de aptido?
importante permitir tambm a sobrevida de cromossomos menos aptos, do contrrio o
mtodo ficaria preso em timos locais Elitismo
Slide 328

328 Seleo de cromossomos sobreviventes


Slide 329

329 Roleta russa: mecanismo para selecionar os cromossomos sobreviventes


Carregar "1 Introduo Otimizao: Programao Linear Marcone Jamilson Freitas
Souza Departamento de Computao Programa de Ps-Graduao em Cincia da
Computao."

Vous aimerez peut-être aussi