Diversos problemas de otimiza¸c˜ao combinat´oria [27] podem ser formulados como progra- mas lineares, que s˜ao compostos por um conjunto de restri¸c˜oes (na forma de desigual- dades lineares) e uma fun¸c˜ao objetivo (tamb´em linear) de maximiza¸c˜ao ou minimiza¸c˜ao. Nesta pequena introdu¸c˜ao nos restringiremos `as fun¸c˜oes de maximiza¸c˜ao e restri¸c˜oes na forma πx ≤ π0, de forma que um programa linear pode ser representado de forma com-
pacta por z = max{cx : Ax ≤ b, x ∈Rn}, em que A ´e uma matriz emRm×nrepresentando
os coeficientes do lado esquerdo das restri¸c˜oes; b ∈Rm representa os coeficientes do lado
direito das restri¸c˜oes; cT ∈ Rn representa o custo de cada vari´avel na fun¸c˜ao objetivo e
xT ∈Rn representa as vari´aveis do problema.
Se restringirmos os valores de x a inteiros, temos o que se chama de programa¸c˜ao linear inteira. Podemos ter uma composi¸c˜ao mista de vari´aveis inteiras e reais, por´em, vamos nos restringir ao caso em que todas as vari´aveis s˜ao inteiras, j´a que ´e o caso dos modelos apresentados neste trabalho. Programas lineares podem ser resolvidos em tempo polinomial, mas programas lineares inteiros podem serNP-dif´ıceis. Desta forma, ´e esperado que n˜ao haja algoritmos polinomiais para resolver PLI’s e para fazˆe-lo utiliza-se, na pr´atica, t´ecnicas como um algoritmo branch and bound (B&B) [33] e um algoritmo branch and cut (B&C), que ´e uma especializa¸c˜ao do B&B.
Como as restri¸c˜oes de um problema linear s˜ao desigualdades lineares, geometricamente o conjunto de pontos que as satisfazem representam um poliedro, conforme a Se¸c˜ao 2.2. Os pontos que satisfazem uma dada desigualdade πx ≤ π0, formam um semi-espa¸co.
Al´em do mais, a equa¸c˜ao linear na fun¸c˜ao objetivo, z = cx, representa uma fam´ılia de hiperplanos, sendo objetivo do problema encontrar um hiperplano z∗ = cx que tem
interse¸c˜ao n˜ao-vazia com o poliedro P e tal que z∗ seja m´aximo. Pode-se mostrar que se
z∗ for finito, ent˜ao existe cx∗ = z∗ tal que x∗ ´e um v´ertice de P [33].
Quando trabalhamos com pli’s, o conjunto de solu¸c˜oes vi´aveis X para o modelo s˜ao pontos de coordenadas inteiras que satisfazem as restri¸c˜oes. Definimos a envolt´oria con- vexa desse conjunto, denotada por conv(X), como o menor poliedro que cont´em todos esses pontos. Ao removermos as restri¸c˜oes de integralidade de um modelo pli, processo
2.3. Programa¸c˜ao Linear Inteira 11
Figura 2.1: Os pontos pretos indicam solu¸c˜oes inteiras vi´aveis. O pol´ıgono de borda preta ´e a envolt´oria convexa destas. Os pol´ıgonos em cinza representam duas poss´ıveis formula¸c˜oes v´alidas.
conhecido como relaxa¸c˜ao linear, obtemos um programa linear, cujo conjunto de res- tri¸c˜oes representa um poliedro P . ´E f´acil ver que P cont´em conv(X) e n˜ao cont´em nenhum outro ponto inteiro. De maneira mais geral, qualquer conjunto de restri¸c˜oes que forma um poliedro satisfazendo essas duas condi¸c˜oes ´e dita uma formula¸c˜ao v´alida. Cla- ramente existem infinitas formula¸c˜oes v´alidas para uma dada conv(X) (veja Figura 2.1 para um exemplo em R2). Se soub´essemos todas as desigualdades que definem conv(X),
a solu¸c˜ao ´otima do pl correspondente a essa formula¸c˜ao, seria a mesma do modelo pli. A princ´ıpio parece que poder´ıamos resolver tal pl e encontrar a solu¸c˜ao ´otima do pli de forma eficiente, por´em, em geral, o n´umero de restri¸c˜oes necess´arias para definir conv(X) ´e exponencial no n´umero de vari´aveis, o que torna a tarefa invi´avel. Por outro lado, o v´ertice de conv(X) correspondente `a solu¸c˜ao ´otima ´e formado pela interse¸c˜ao de apenas alguns dos semi-espa¸cos que definem tal poliedro. Desta forma, podemos nos restringir a apenas tais semi-espa¸cos.
Os chamados algoritmos de plano de corte atuam no sentido de aproximar uma formula¸c˜ao v´alida inicial de conv(X). Para tanto, resolvem de maneira ´otima o programa linear e, se a solu¸c˜ao ´otima x∗ n˜ao for inteira, tentam acrescentar `a formula¸c˜ao uma nova
desigualdade (tamb´em chamada de plano de corte) que seja v´alida para conv(X) mas que n˜ao seja satisfeita pela solu¸c˜ao ´otima corrente. Nesse caso, dizemos que a solu¸c˜ao viola essa desigualdade ou que esta est´a violada. Para encontrarmos uma desigualdade violada, devemos resolver o chamado problema da separa¸c˜ao. Mais precisamente, seja Pi = max{cx : Ax ≤ b, x ∈Rn} uma formula¸c˜ao v´alida para um dado modelo pli. Seja x∗
uma solu¸c˜ao ´otima para esse problema. Queremos encontrar uma desigualdade πx ≤ π0
v´alida para conv(X) e violada por x∗, ou seja, πy ≤ π
0 para todo y ∈ conv(X) e πx∗ > π0.
Definimos ent˜ao a nova formula¸c˜ao Pi+1 = {cx : Ax ≤ b, πx ≤ π
0, x ∈ Rn} que continua
v´alida para o modelo. Com isso, esperamos que o valor obtido para a relaxa¸c˜ao linear se aproxime da solu¸c˜ao ´otima do modelo pli inicial. Em geral, encontram-se, por meios
12 Cap´ıtulo 2. Fundamenta¸c˜ao Te´orica
Conv(X) �1
�2
�3
Figura 2.2: A interse¸c˜ao de conv(X) com �1 ´e vazia, com �2 ´e um ponto e com �3 um
segmento de reta.
te´oricos, fam´ılias de desigualdades v´alidas para conv(X). O algoritmo que resolve o pro- blema da separa¸c˜ao ´e ent˜ao respons´avel por determinar se algum membro dessas fam´ılias ´e violado pela solu¸c˜ao corrente. Ele deve fazer isso, por´em, sem analisar explicitamente cada poss´ıvel membro das fam´ılias, j´a que o tamanho delas pode ser infinito.
O estudo te´orico das fam´ılias das desigualdades v´alidas ´e um dos objetivos da ´area da combinat´oria poli´edrica. S˜ao tais estudos que permitem identificar os planos de corte com maior potencial para tornar eficientes, na pr´atica, os algoritmos de plano de corte. ´
E intuitivo pensar em “bons” cortes como aqueles que aproximam mais a formula¸c˜ao atual da envolt´oria convexa conv(X). Para entender este racioc´ınio, vamos observar o comportamento de um plano de corte em R2, no exemplo da Figura 2.2.
Nesse exemplo, vemos que um plano de corte pode n˜ao interceptar conv(X) (�1),
intercept´a-la em um ponto (�2) ou em um segmento de reta (�3). Note que a interse¸c˜ao
entre o plano de corte e conv(X) forma um poliedro. Em geral, como sugere o exemplo, quanto maior a dimens˜ao do poliedro resultante dessa interse¸c˜ao, mais o plano de corte aproxima a formula¸c˜ao da envolt´oria convexa. N˜ao surpreendentemente, na pr´atica as desigualdades que tornam mais eficientes os algoritmos de plano de corte s˜ao justamente aquelas cujas interse¸c˜oes com conv(X) tˆem maior dimens˜ao. Portanto, do ponto de vista te´orico, as ´unicas desigualdades que nos interessam para descrever conv(X) s˜ao aquelas que definem facetas.