Solução de um problema de Programação Inteira - Método Branch and Bound

download Solução de um problema de Programação Inteira - Método Branch and Bound

of 9

Transcript of Solução de um problema de Programação Inteira - Método Branch and Bound

  • 7/24/2019 Soluo de um problema de Programao Inteira - Mtodo Branch and Bound

    1/9

    UNIVERSIDADE FEDERAL DO PARInstituto de Tecnologia

    Programa de Ps-graduao em Engenharia Eltrica

    OTIMIZAO DE SISTEMAS

    Trabalho 1Programao Inteira

    Jorge Henrique Angelim

    Yasmim Corra

    Zaire Souza

    BELMPA2015

  • 7/24/2019 Soluo de um problema de Programao Inteira - Mtodo Branch and Bound

    2/9

    INTRODUO

    O presente relatrio, contm os passos e os resultados obtidos a partir da resoluo do

    trabalho 1 de programao inteira, tipo 2, cujo problema :

    () = 3 + 15

    . . 10 + 2 75

    6 + 7 60

    , 0

    OBJETIVOSEncontrar a soluo tima do problema relaxado (sem a condio de integralidade);

    Encontrar a soluo tima inteira obtida pelo mtodoBranch and Bound;

    Obter a soluo em rvore do problema, onde so mostrados os subproblemas resultados do

    mtodo;

    Obter a indicao grfica dos subespaos e dos subproblemas construdos ao longo do

    processo;

    Todos esses itens esto respondidos no decorrer desse relatrio.

    MATERIAIS UTILZADOS

    Neste trabalho, utilizamos o suplementosolverdisponvel no Microsoft Excel, que faz

    parte de um conjunto de comandos algumas vezes chamado de ferramentas de teste de

    hipteses. Com o Solver voc pode localizar um valor ideal de (mximo ou mnimo) para uma

    frmula em uma clulachamada de clula do objetivo sujeitos a restries ou limites nos

    valores de outras clulas frmulas em uma planilha. Neste trabalho, utilizamos esta ferramentapara a obteno das solues timas dos problemas de programao linear que fazem parte do

    mtodo aplicado.

    Os grficos foram obtidos atravs do programa Graph, disponvel em

    http://www.padowan.dk/graph/.

  • 7/24/2019 Soluo de um problema de Programao Inteira - Mtodo Branch and Bound

    3/9

    1 SOLUO TIMA CONTNUA

    A soluo tima contnua obtida ao se relaxar a condio de integralidade. Nesse caso,

    o problema de PLI se torna um problema de programao linear (PL). Nesta primeira etapa,

    obtivemos a soluo tima do problema utilizando o mtodo simplex passo a passo e,

    posteriormente, validamos o resultado utilizando o suplemento SOLVER, disponvel no

    Microsoft Excel.

    Abaixo, a resoluo do problema de PL.

    x1 x2 x3 x4 b

    L 3 15 0 0 0

    x3 10 2 1 0 75

    x4 6 7 0 1 60

    x1 x2 x3 x4 b

    L -9,85 0 0 -2,14 -128,57

    x3 8,28 0 1 -0,28 57,85

    x2 0,85 1 0 0,14 8,57

    A soluo tima contnua obtida ao relaxar a condio de integralidade foi:

    x1= 0;

    x2= 8,57;

    F(x) = 128,57

  • 7/24/2019 Soluo de um problema de Programao Inteira - Mtodo Branch and Bound

    4/9

    Figura 1Grfico da soluo contnua do problema.

    2 SOLUO TIMA INTEIRA PELO MTODO BRANCH AND

    BOUND.

    O algoritmo Branch & Bound foi utilizado para obter uma soluo tima inteira,

    atravs do software Excel, utilizando o Solver, fazendo passo-a-passo cada restrio at

    encontrar o ponto timo do problema de maximizao.

    A soluo tima contnua ( = 0, = 8,57 () = 128,57) no admissvel

    para o problema inteiro, pois x2viola esta condio. Pelo mtodo B&B, a busca por solues

    inteiras viveis feita atravs da adio de novas restries ao problema original, reduzindo o

    espao de solues admissveis e conduzindo ao ponto timo. Esta reduo do espao de

    solues no pode resultar na melhoria da funo objetivo, de modo que o valor encontrado

    para f(x) corresponde ao limite superior.

    Na etapa de partio (Branch) da resoluo, pesquisamos a soluo em doissubespaos

    8 9

    Subproblema (1) Subproblema (2)

    () = 3 + 15

    . 10 + 2 75

    6 + 7 60

    , 0

    () = 3 + 15

    . 10 + 2 75

    6 + 7 60

    , 0

    ;

    . -

    . . . . . . . . . . .

  • 7/24/2019 Soluo de um problema de Programao Inteira - Mtodo Branch and Bound

    5/9

    Dessa forma, a soluo no admissvel = 8,57 excluda da resoluo. As solues

    timas dos dois novos subproblemas criados pela adio das restries, obtidas pelo Solver,

    esto mostradas a seguir.

    A soluo tima do subproblema (2) no vivel. Por outro lado, a soluo do

    subproblema (1) no admissvel para o problema de PI, mas como o valor de () menor

    que o limite superior, exploramos esse subespao. A soluo grfica do subproblema (1) est

    mostrada na figura 2, onde pode ser observado que o espao admissvel limitado em 8.

    Figura 2Grfico da soluo do subproblema (1).

    Novamente, a partir do subproblema (2), dois novos subproblemas so criados:

    0 1

    = ; = = = =

    = -

    - - . . . . . . . . . . .

    -

    -

    = 0;

    = 8,57;

    () = 128,57

    = 0,667;

    = 8;

    () = 122

    8 9(1)

    (2)

  • 7/24/2019 Soluo de um problema de Programao Inteira - Mtodo Branch and Bound

    6/9

    Subproblema (3) Subproblema (4)

    () = 3 + 15

    . 10 + 2 75

    6 + 7 60

    8

    , 0

    () = 3 + 15

    . 10 + 2 75

    6 + 7 60

    8

    , 0

    Observe que as restries 0 e 0 do subproblema (3) levam = 0.As

    solues timas obtidas foram:

    Figura 3Grfico da soluo do subproblema (4).

    O subproblema (3) conduz a uma soluo admissvel para o problema de PI, mas no

    h garantias de que esse seja o valor timo do problema. Fazemos ento este valor de ()o

    ;

    . -

    . . . . . . . . . . .

    (3)

    = 0,667;

    = 8;

    () = 122

    0 1

    (4)

    = 0;

    = 8;

    () = 120

    = 1;

    = 7,71;

    () = 118,71

  • 7/24/2019 Soluo de um problema de Programao Inteira - Mtodo Branch and Bound

    7/9

    limite inferior para a funo objetivo, pois no ser possvel obter uma soluo inteira melhor

    num espao onde a soluo continua apresente valor de ()inferior ou igual a 120.

    A soluo tima do subproblema (4), por sua vez, no admissvel para o problema de

    PI, no entanto, () tem valor superior ao limite inferior fixado, sendo necessrio explorar

    esse subespao. Os dois novos subproblemas descendentes de (4) so:

    7e 8

    Subproblema (5) Subproblema (6)

    () = 3 + 15

    . 10 + 2 75

    6 + 7 60

    8 1

    , 0

    () = 3 + 15

    . 10 + 2 75

    6 + 7 60

    8 1

    , 0

    No subproblema (5), a restrio 8 redundante pois 7.

    No subproblema (6), as restries 8e 8impem = 8.

    (7)

    = 1;

    = 7,71;

    () = 118,71

    7 8(8)

    = 1,83;

    = 7;

    () = 110,5

  • 7/24/2019 Soluo de um problema de Programao Inteira - Mtodo Branch and Bound

    8/9

    Figura 4Grfico da soluo do subproblema (7).

    Do subproblema (7), obtemos uma soluo que no admissvel para o problema de PI.

    Como o valor de () = 110,5 menor que o limite inferior adotado para soluo inteira, no

    ser possvel obter soluo melhor que a obtida anteriormente (( ) = 120).

    Portanto, no havendo mais espao para analisar, a soluo tima do problema de

    programao inteira :

    ;

    . -

    . . . . . . . . . . .

    = 0;

    = 8;

    () = 120

  • 7/24/2019 Soluo de um problema de Programao Inteira - Mtodo Branch and Bound

    9/9

    3 DIAGRAMA EM RVORE DA SOLUO DO PROBLEMA

    MTODO BRANCH AND BOUND

    = 0;

    = 8,57;

    () = 128,57

    = 0,667;

    = 8;

    () = 122

    8 9(1) (2)

    (3)

    0 1(4)

    = 1;

    = 7,71;

    () = 118,71

    = 0;

    = 8;

    () = 120

    Soluo tima!

    (7)

    7 8(8)

    = 1,83;

    = 7;

    () = 110,5