Unidade de Matemática e Tecnologia - RC/UFG
Programação Linear/Inteira
Prof. Thiago Alves de Queiroz
Otimização Discreta
A característica de otimização discreta (ou combinatória) é que algumas variáveis pertencem a um conjunto discreto;
Geralmente é um subconjunto dos inteiros;
Algumas aplicações surgem em áreas de: energia, transporte, telecomunicações, biologia molecular, medicina, aviação, finanças, planejamento da produção, etc.;
Um problema com variáveis inteiras e reais é denominado
problema de programação (linear) inteira mista - PIM quando tem a forma: Maximizar z =cx + dy sujeito a : Ax + Dy ≤ b x ∈ Rn +,y ∈ Z p +. (1)
Otimização Discreta
Quando todas as variáveis são inteiras, tem-se um problema de programação (linear) inteira - PI:
Maximizar z =cx sujeito a : Ax ≤ b x ∈ Zn +. (2)
Se todas as variáveis assumem valores 0 ou 1, tem-se um problema de programação 0-1 ou binária - PB:
Maximizar z =cx sujeito a : Ax ≤ b x ∈ Bn. (3)
Em que Bnrepresenta o espaço dos vetores com n componentes
Otimização Discreta
Um outro tipo é o problema de otimização combinatória - OC, definido como:
I É dado um conjunto finito N = 1, . . . , n;
I É dado um conjunto de peso cj para cada j ∈ N; I É dado uma família F de subconjuntos factíveis de N; I O objetivo é achar o subconjunto de peso mínimo de F :
minnP
j∈Scj, tal que S ∈ F o
.
Problemas de OC podem ser escritos como problemas de PI ou PB;
Problemas de programação inteira e combinatória são resolvidos por:
I Métodos ótimos (exatos): que fornecem a solução ótima;
I Algoritmos aproximados: que garantem a distância máxima entre o
Exemplo de PIM
Problema de Programação Inteira Mista:
maximizar z = 10x1+6x2 sujeito a : 9x1+5x2≤ 45 −4x1+5x2≤ 5 x1∈ R1 +,x2∈ Z+1. (4)
A solução ótima é: (x1,x2) = (313,3), com z = 51 1 3.
Exemplo de PI
Problema de Programação Inteira:
maximizar z = 10x1+6x2 sujeito a : 9x1+5x2≤ 45 −4x1+5x2≤ 5 x1∈ Z1 +,x2∈ Z+1. (5)
Exemplo de PB
Problema de Programação Binária:
maximizar z = 2x1+3x2 sujeito a : 6x1+8x2≤ 10 −4x1+5x2≤ 5 x1∈ {0, 1}, x2∈ {0, 1}. (6)
O conjunto de solução factíveis é dado por todas as combinações de valores (0 e 1) para as variáveis do problema;
No exemplo, tem-se: X = {(0, 0), (1, 0), (0, 1), (0, 1)};
Note que a solução ótima ocorre para (x1,x2) = (0, 1), com valor
Relaxação Linear
Considere o problema de programação inteira (PI) abaixo:
(PI) maximizar z = 10x1+6x2 sujeito a : 9x1+5x2≤ 45 −4x1+5x2≤ 5 x1∈ Z+1,x2∈ Z+1. (7)
A relaxação linear deste problema é o problema de programação linear (PL) quando a condição de integralidade é relaxada
(substituída por não-negatividade ou variável livre), ou seja:
(PL) maximizar z = 10x1+6x2 sujeito a : 9x1+5x2≤ 45 −4x1+5x2≤ 5 x1≥ 0, x2≥ 0. (8)
Relaxação Linear
A solução ótima do PI foi dada por x = (x1,x2) = (5, 0), com
z = 50;
Observe o conjunto de soluções factíveis do problema PL, com solução: x = (3131,3136), com z = 51137;
Relaxação Linear
Note que a diferença é satisfatória, com diferença percentual (erro) de 51
7 13−50
51137 =0, 029 ou 2, 9%;
Uma técnica utilizada consiste em arredondar a solução do PL; Considere a solução do PL arredondada, isto é,
x = (3131,3136) → (3, 3), com z = 48;
A diferença percentual (erro) com relação a solução ótima do PI é: 50−48
50 =0, 04 ou 4, 0%, que é bem pior do que no caso anterior;
Logo, a estratégia de arredondamento da solução ótima do problema relaxado de PL pode não ser satisfatória;
Além disso, há o risco da solução arredondada não satisfazer as restrições do problema de PI original.
Relaxação Linear
A relaxação linear é um conceito-chave para métodos de resolução de PI e PIM;
Considere XPI,XPIM,XPLos conjuntos soluções factíveis de PI,
PIM e PL, respectivamente;
Como Z+n ⊂ RN
+, segue que: XPI ⊂ XPLe XPIM ⊂ XPL; Com isso, o valor z da solução ótima de PL é um limitante superior para o valor de z da solução ótima de PI e PIM, dado problemas de maximização;
Em problemas de minimização, o valor z da solução ótima de PL é um limitante inferior para o valor de z da solução ótima de PI e PIM;
A relaxação linear em problemas de programação binária ocorre trocando x ∈ {0, 1} por 0 ≤ x ≤ 1.
Modelagem com Variáveis Binárias
Um grande número de problemas em otimização discreta envolve a ocorrência ou não de um evento;
Ou seja, a decisão entre duas alternativas, sendo modelada por uma variável binária x:
x =
1, se o evento ocorre 0, se o evento nao ocorre
Alguns casos com esse tipo de decisão e como representá-los matematicamente são vistos adiante;
Implicações “se-então”
A ocorrência de um evento implica a ocorrência de outro evento; Considere a situação em que, se o produto 1 é fabricado, então o produto 2 também deve ser fabricado:
x1= quantidade produzida do item 1
x2= quantidade produzida do item 2
Seja y uma variável binária tal que: y =
1, se x1>0 0, caso contrario
A situação é expressa pela desigualdade:
x1≤ My , em que M é um limitante superior da produção do item
1;
Deseja-se expressar que: y = 1 implica x2>0, ou seja:
x2≥ my , em que m é um limitante inferior para a quantidade de
Implicações “se-então”
Outra situação envolve: impor que a desigualdade f (x1,x2, . . . ,xn) >0 implica que a desigualdade g(x1,x2, . . . ,xn) ≥0 é verdadeira;
Então, considere uma variável binária y e um número muito grande M, tal que:
f ≤ M e −g ≤ M, para todo valor de x1,x2, . . . ,xn; A implicação é expressa pelas restrições:
−g(x1,x2, . . . ,xn) ≤My f (x1,x2, . . . ,xn) ≤M(1 − y ).
Note que: se f > 0, então y = 0, que resulta em −g ≤ 0, ou seja, g ≥ 0.
Exemplo
Suponha que quatro itens podem ser produzidos em uma máquina k . Se o item 1 é produzido em k , então os outros itens, 2, 3 e 4, não podem ser processados em k . Represente esta situação.
1. Defina as variáveis: xik =
1, se o item i e processado na maquina k 0, caso contrario
2. Veja a relação de implicação: Se x1k =1, então
x2k =x3k =x4k =0;
Pelo fato das variáveis serem binárias, segue-se que: se x1k >0,
então x2k+x3k+x4k ≤ 0, ou −x2k− x3k− x4k ≥ 0;
Observando a situação anterior, veja que se pode chamar: f (x1k) =x1k >0, que implica em:
Exemplo
Com isso, definindo a variável binária y e seja M um número muito grande, segue:
x2k+x3k+x4k ≤ My x1k ≤ M(1 − y );
Note que se pode usar M = 3, pois este é o valor máximo
assumido pela soma x2k+x3k+x4k;
Então:
x2k+x3k+x4k ≤ 3y x1k ≤ 3(1 − y ).
Restrição (des)ativada
Seja a desigualdade: f (x1,x2, . . . ,xn) ≤0;
Quer-se ativar ou desativar esta desigualdade de acordo com o valor de uma variável binária;
Então, defina a variável binária y , tal que y = 1 implica que a desigualdade está ativada. Isso pode ser escrito como: f (x1,x2, . . . ,xn) ≤M(1 − y ), em que M é um número muito grande;
Note que, se y = 0, então a restrição é desativada, isto é, f (x1,x2, . . . ,xn)pode assumir qualquer valor até seu limite superior M.
Restrições disjuntivas
Considere as desigualdades: f (x1,x2, . . . ,xn) ≤0 (1) g(x1,x2, . . . ,xn) ≤0 (2);
Deseja-se que somente uma das desigualdades esteja ativada; Então, deve-se definir uma variável binária y tal que:
I y = 1, então somente (1) é ativada; I y = 0, então somente (2) é ativada.
Por fim, seja um número muito grande M de forma que representa-se esta situação por:
f (x1,x2, . . . ,xn) ≤M(1 − y ) g(x1,x2, . . . ,xn) ≤My .
Exemplo
Considere as restrições 4x1+2x2≤ 80 e 2x1+5x2≤ 100, com
x1,x2≥ 0;
O acréscimo de um número muito grande M no lado direito das restrições faz com a restrição desativada seja transladada paralelamente no quadrante superior direito do plano;
Assim, a reta 4x1+2x2=80 é transladada até 4x1+2x2=200;
A reta 2x1+5x2=100 é transladada até 2x1+5x2=200;
Qual o menor valor de M ? Represente a disjunção entre as desigualdades.
1. Para descobrir o menor valor de M, compare o lado direito das desigualdades originais com as desigualdades transladadas; Segue da desigualdade 1 que a diferença no lado direito é 120 e da segunda desigualdade é 100.
Exemplo
Deve-se pegar o valor que satisfaz ambas as restrições, no sentido de transladar, ou seja, M = max{120, 100}, que resulta em M = 120;
Um valor pequeno para M (o mais justo) é desejável para acelerar os métodos de resolução de problemas de programação inteira; 2. Para representar a disjunção, considere uma variável binária y e o valor de M (definido no passo anterior);
Então, a representação matemática da disjunção é dada por:
4x1+2x2≤ 80 + 120(1 − y )
2x1+5x2≤ 100 + 120y ;
Exemplos de restrições ativadas ou desativadas e restrições disjuntivas ocorrem em problemas de programação de tarefas em máquinas.
Representação de função linear por partes
São importantes porque podem representar o custo de expansão ou aproximar uma função não-linear;
Considere a função f (x ) = f1(x ) + f2(x ) + f3(x ) apresentada abaixo:
Representação de função linear por partes
As funções f1(x ), f2(x ), f3(x ) são lineares, sendo especificadas pelos pontos: (0,0); (2, 10); (6, 14) e (10,22);
Qualquer x , tal que 0 ≤ x ≤ 10 pode ser escrito como:
x = 0λ1+2λ2+6λ3+10λ4, com a restrição:
λ1+ λ2+ λ3+ λ4=1, com λ1, λ2, λ3, λ4≥ 0. Segue que:
f (x ) = 0λ1+10λ2+14λ3+22λ4, com a restrição: λ1+ λ2+ λ3+ λ4=1, com λ1, λ2, λ3, λ4≥ 0,
se no máximo dois valores λi e λi+1,i = 1, 2, 3 forem positivos;
Essa condição pode ser modelada por meio de variáveis binárias:
I yi =1, se ai ≤ x ≤ ai+1;
Representação de função linear por partes
Para o caso em particular, considere: a1=0, a2=2, a3=6, a4=10; Também as restrições: λ1≤ y1, λ2≤ y1+y2, λ3≤ y2+y3, λ4≤ y3, y1+y2+y3=1.
Relações lógicas
Variáveis binárias são usadas para relações lógicas;
Suponha que existam cinco tipos de investimento financeiro e
seja xj a variável binária de decisão tal que:
xj =
1, se o investimento j ocorre 0, caso contrario
Algumas situações que podem aparecer:
I No máximo três investimentos são selecionados:
x1+x2+x3+x4+x5≤ 3
I Exatamente um investimento é selecionado:
x1+x2+x3+x4+x5=1
I O investimento 1 ou o investimento 2 é selecionado:
x1+x2≥ 1
I Se o investimento 2 é selecionado, então o investimento 1 também
Relações lógicas
Algumas situações que podem aparecer:
I Se os investimentos 2, 3 e 4 são selecionados, então o
investimento 1 é selecionado: x1+x2+x3≤ 3x1, ou de forma equivalente: x2≤ x1 x3≤ x1 x4≤ x1
Ambas as representações acima são equivalentes na
programação inteira, mas não são equivalentes na programação linear (variáveis reais). Sejam os conjuntos:
XB = soluções binárias que satisfazem uma ou outra restrição,
X1= {x2+x3+x4≤ 3x1,0 ≤ xi ≤ 1, i = 1, 2, 3, 4}, X2= {x2≤ x1,x3≤ x1,x4≤ x1,0 ≤ xi ≤ 1, i = 1, 2, 3, 4}.
Relações lógicas
Note que os XB ⊂ X2⊂ X1;
Por exemplo, os valores x2= 12, x3=x4= 14 e x1= 13 satisfazem X1, mas não satisfazem X2;
O método mais usado para resolver programação inteira é o branch-and-bound e faz uso da programação linear;
Neste caso, quanto menor o conjunto de soluções factíveis da programação linear, estima-se que menor é o esforço
computacional para achar a solução ótima inteira;
Representação de valores discretos
Considere um problema em que uma variável x só pode assumir um valores do conjunto discreto {4, 6, 8, 12, 20, 24};
Para representar essa condição, defina variáveis binárias yi,i = 1, . . . , 6;
Adicione as seguintes restrições:
x = 4y1+6y2+8y3+12y4+20y5+24y6, y1+y2+y3+y4+y5+y6=1.
Formulação de problemas clássicos
Adiante será apresentado modelos de programação inteira para diversos problemas clássicos e importantes;
Vale destacar que existem linguagens algébricas como GAMS, AMPL, MPL, AIMMS, OPL, MOSEL, LINGO:
I Permitem o usuário escrever modelos genéricos de otimização
linear e discreta;
I Tais modelos usam um formato parecido com a notação algébrica.
Outra ferramenta computacional muito usada é a planilha Excel, que contém um resolvedor para lidar com problemas
relativamente pequenos;
O Excel não gera um modelo genérico como as linguagens algébricas.
Problemas da Mochila
Envolvem a escolha de itens a serem colocados em uma ou mais mochilas de forma a maximizar o objetivo;
Algumas versões:
I Mochila 0-1: selecionar n projetos, dado um capital b para
investimento. O projeto j tem custo aj e um retorno esperado pj. Deseja-se selecionar os projetos que maximizem o retorno total esperado sem ultrapassar o limite de capital;
I Mochila inteira: similar a mochila 0-1, porém se pode investir
diversas vezes no mesmo projeto;
I Múltiplas mochilas: existem n itens que devem ser colocados e m
mochilas de capacidade distintas bi. Cada item tem lucratividade pj e peso wj. Deseja-se selecionar m subconjuntos distintos de itens, tal que cada subconjunto ocupe uma capacidade de no máximo bi e o lucro total seja maximizado.
I Empacotamento em mochilas: deseja-se determinar o número
mínimo de mochilas de mesma capacidade b que empacotem n itens de peso wj.
Problemas da Mochila
Exemplo. Uma empresa deseja investir um capital de b = 100 milhões, considerando 8 projetos disponíveis. O lucro esperado de cada projeto está na matriz p, e o custo necessário para a execução do projeto na matriz a. Determine o modelo que permita selecionar um subconjunto de projetos que maximize o lucro total respeitando o limite de capital.
p = [pj] =41 33 14 25 32 32 9 19
a = [aj] =47 40 17 27 34 23 5 44
(i) Definir as variáveis de decisão: xj =
1, se o projeto j e escolhido 0, caso contrario
Para os projetos j = 1, 2, 3, 4, 5, 6, 7, 8;
Resolução... Maximizar z =
41x1+33x2+14x3+25x4+32x5+32x6+9x7+19x8; (iii) Existe uma restrição com relação ao limite de capital disponível;
P8
j=1ajxj ≤ b; Capital b = 100:
47x1+40x2+17x3+27x4+34x5+23x6+5x7+44x8≤ 100;
(iii) Existem restrições com relação ao domínio das variáveis; xj ∈ {0, 1}, j = 1, 2, 3, 4, 5, 6, 7, 8. Maximizar z = 41x1+33x2+14x3+25x4+32x5+32x6+9x7+19x8 sujeito a : 47x1+40x2+17x3+27x4+34x5+23x6+ +5x7+44x8≤ 100 xj ∈ {0, 1}, j = 1, 2, 3, 4, 5, 6, 7, 8. (9)
Problemas de Corte
Em diversos processos industriais, itens são produzidos a partir do corte de peças maiores;
Essas peças podem ter uma, duas ou três dimensões relevantes como o:
I comprimento: barras de aço, bobinas de papel, rolos de filme; I comprimento e largura: placas de madeira, tecido, chapas de aço; I comprimento, largura e altura: blocos de matéria-prima para
colchões;
Alguns casos:
I Corte unidimensional: consiste em cortar barras disponíveis de
tamanho L, para a produção de m tipos de itens com tamanhos l1,l2, . . . ,lme demandas b1,b2, . . . ,lm. Deseja-se minimizar o número de barras usadas para o corte;
Problemas de Corte
Exemplo. Uma empresa deseja cortar tubos de tamanho L = 11
em m = 4 itens menores com comprimento: l1=2, l2=3, l3=4,
l4=5 e, respectivas demandas: b1=3, b2=3, b3=2, b4=2.
Determine o modelo que minimiza o número de tubos usados no corte, sabendo que existem 5 tubos disponíveis. Deve-se cortar pelo menos a demanda requisitada de cada item e respeitar o comprimento total da tubo durante o corte.
(i) Definir as variáveis de decisão: yi =
1, se a tubo i e cortado 0, caso contrario
xij = número de vezes que o item j é cortado no tubo i;
Para as barras i = 1, 2, 3, 4, 5 e os itens j = 1, 2, 3, 4; (ii) A função objetivo busca minimizar o número de barras cortadas;
Minimizar z =P5i=1yi;
Resolução...
(iii) Existem restrições que dizem que a demanda de cada item deve ser atendida;
P5 i=1xij ≥ bj, j = 1, 2, 3, 4; Item j=1: x11+x21+x31+x41+x51 ≥ 3; Item j=2: x12+x22+x32+x42+x52 ≥ 3; Item j=3: x13+x23+x33+x43+x53 ≥ 2; Item j=4: x14+x24+x34+x44+x54 ≥ 2;
(iii) Existem restrições que dizem que se a barra i for cortada, então se deve respeitar seu comprimento L = 11;
P4
j=1ljxij ≤ Lyi, i = 1, 2, 3, 4, 5;
Barra i=1: 2x11+3x12+4x13+5x14 ≤ 11y1; Barra i=2: 2x21+3x22+4x23+5x24 ≤ 11y2;
Resolução...
Barra i=4: 2x41+3x42+4x43+5x44 ≤ 11y4; Barra i=5: 2x51+3x52+4x53+5x54 ≤ 11y5;
(iii) Existem restrições com relação ao domínio das variáveis; xij ∈ Z+, i = 1, 2, 3, 4, 5; j = 1, 2, 3, 4; yi ∈ {0, 1}, i = 1, 2, 3, 4, 5. Minimizar z = y1+y2+y3+y4+y5 sujeito a : x11+x21+x31+x41+x51≥ 3 x12+x22+x32+x42+x52≥ 3 x13+x23+x33+x43+x53≥ 2 x14+x24+x34+x44+x54≥ 2 2x11+3x12+4x13+5x14≤ 11y1 2x21+3x22+4x23+5x24≤ 11y2 2x31+3x32+4x33+5x34≤ 11y3 2x41+3x42+4x43+5x44≤ 11y4 2x51+3x52+4x53+5x54≤ 11y5 xij∈ Z+, i = 1, 2, 3, 4, 5; j = 1, 2, 3, 4 yi ∈ {0, 1}, i = 1, 2, 3, 4, 5. (10)
Problemas de Designação
Envolve a designação (ou atribuição) de tarefas a agentes; Alguns exemplos:
I Designação: envolve n tarefas e n agentes, tal que cada tarefa é
executada por um único agente e cada agente executa uma única tarefa. A execução da tarefa j pelo agente i tem um custo cij. Deseja-se determinar tarefas a agentes de modo a minimizar o custo total;
I Designação generalizada: tem-se m agentes e n tarefas,com
m < n; cada tarefa deve ser executa por um único agente, e um agente pode executar mais de uma tarefa. A execução da tarefa j pelo agente i requer uma quantidade aijde recurso do agente i, com custo cij. O agente i tem capacidade de recurso bi e deseja-se minimizar o custo de designar tarefas a agentes.
Problemas de Designação
Exemplo. Uma empresa possui 3 agentes e 5 tarefas com os seguintes parâmetros: matriz C contém os custos de designar o agente i a tarefa j; e, a matriz A contém quantidade de horas que o agente i precisa para a execução da tarefa j. A capacidade total de horas de cada agente está na matriz b. Determine o modelo que minimiza o custo de designação de tarefas a agentes, de forma que tarefa seja executada por exatamente um agente e que a capacidade de horas de cada agente não seja excedida.
C = [cij] = 15 61 3 94 86 21 28 76 48 54 21 21 46 43 21 A = [aij] = 31 69 14 87 51 23 20 71 86 91 20 55 39 60 83 b = [bi] =100 100 100
Resolução...
(i) Definir as variáveis de decisão: xij =
1, se a tarefa j e designada ao agente i 0, caso contrario
Para os agentes i = 1, 2, 3 e as tarefas j = 1, 2, 3, 4, 5;
(ii) A função objetivo busca minimizar o custo total de designação de tarefas a agentes;
Minimizar z =P3i=1P5j=1cijxij. Minimizar z =
15x11+61x12+3x13+94x14+86x15+21x21+28x22+76x23+
48x24+54x25+21x31+21x32+46x33+43x34+21x35; (iii) Existem restrições que dizem que cada tarefa deve ser executada por um único agente;
Resolução... Tarefa j=1: x11+x21+x31=1; Tarefa j=2: x12+x22+x32=1; Tarefa j=3: x13+x23+x33=1; Tarefa j=4: x14+x24+x34=1; Tarefa j=5: x15+x25+x35=1;
(iii) Existem restrições que dizem que a capacidade de horas do agente i não pode ser excedida;
P5
j=1aijxij ≤ bi, i = 1, 2, 3;
Agente i=1: 31x11+69x12+14x13+87x14+51x15 ≤ 100;
Agente i=2: 23x21+20x22+71x23+86x24+91x25 ≤ 100;
Agente i=3: 20x31+55x32+39x33+60x34+83x35 ≤ 100;
(iii) Existem restrições com relação ao domínio das variáveis; xij ∈ {0, 1}, i = 1, 2, 3; j = 1, 2, 3, 4, 5.
Resolução Minimizar z = 15x11+61x12+3x13+94x14+86x15+ 21x21+28x22+76x23+48x24+54x25+ 21x31+21x32+46x33+43x34+21x35 sujeito a : x11+x21+x31=1 x12+x22+x32=1 x13+x23+x33=1 x14+x24+x34=1 x15+x25+x35=1 31x11+69x12+14x13+87x14+51x15 ≤ 100 23x21+20x22+71x23+86x24+91x25 ≤ 100 20x31+55x32+39x33+60x34+83x35 ≤ 100 xij ∈ {0, 1}, i = 1, 2, 3; j = 1, 2, 3, 4, 5. (11)
Problemas de cobertura, partição e empacotamento
Possuem uma estrutura semelhante e envolvem a seleção de
uma coleção de subconjuntos Sj,j = 1, . . . , n de um conjunto S;
Esta seleção deve formar uma cobertura, uma partição ou um empacotamento com relação a S;
Considere o seguinte conjunto S = {1, 2, 3, 4, 5} e o seguintes subconjuntos de S:
S1= {1, 2}, S2= {1, 3, 5}, S3= {2, 4, 5}, S4= {3}, S5= {1}, S6= {4, 5};
Umacobertura requer que a união dos subconjuntos seja igual a
S, por exemplo, S1∪ S3∪ S4=S;
Umempacotamento envolve uma união de subconjuntos
distintos, por exemplo, S4∪ S5∪ S6, pois S4∩ S5∩ S6= ∅; Umapartição é uma cobertura e um empacotamento com
relação a S, por exemplo, S1,S4,S6, pois S1∪ S4∪ S6=S e
Problemas de cobertura, partição e empacotamento A figura abaixo ilustra o exemplo anterior:
Figura:Problemas de cobertura, empacotamento e partição.
Problemas de cobertura
Selecione uma coleção de subconjuntos que cobrem S de custo mínimo;
Um exemplo aparece na localização de facilidades de
emergência, tais como ambulâncias e estações de bombeiros; O modelo genérico para o problema de cobertura de conjuntos pode ser descrito como:
Minimizar z =cTx sujeito a : Ax ≥ 1 x ∈ Bn. (12)
Problemas de empacotamento
Selecione uma coleção de subconjuntos disjuntos em S de valor máximo;
Um exemplo aparece em leilões combinatoriais:
I Uma empresa de logística deseja contratar transportadoras para
enviar mercadorias entre cidades. A empresa promove um leilão para vender trechos. Permitem-se lances em combinações de trechos;
I Por exemplo: uma transportadora faz um lance de 80 mil para o
trecho A-B e outra transportadora faz um lance de 30 mil para o trecho C-A. Uma terceira empresa faz um lance de 100 mil para o conjunto de trechos A-B e C-A. Obviamente o último lance é o vencedor e a empresa economiza 10 mil em relação à contratação dos trechos individuais. Deseja-se maximizar este economia na contratação.
Problemas de partição
Selecione uma coleção de subconjuntos que cobrem S e são disjuntos de custo mínimo;
Um exemplo aparece em problemas de programação de aeronaves:
I Para uma dada programação diária de voos, a empresa deve
alocar a tripulação para cada voo e minimizar os custos.
O modelo genérico para o problema de partição é:
Minimizar z =cTx sujeito a : Ax = 1 x ∈ Bn. (14)