1 / 26

DMOR

DMOR. Branch and bound. Integer programming. Modelling logical constraints and making them linear : Conjuction Disjunction Impli cation Logical constraints for binary variables implication disjunction exclusive disjunction Fixed costs modelling

amelia
Download Presentation

DMOR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DMOR Branch and bound

  2. Integerprogramming • Modellinglogicalconstraints and makingthemlinear: • Conjuction • Disjunction • Implication • Logicalconstraints for binaryvariables • implication • disjunction • exclusivedisjunction • Fixedcostsmodelling • Question: Isit OK to justround an LP solution to thenearestinteger to getthesolution of theinteger program? • Branch and boundalgorithm (Divide and conquer)

  3. Stepwiselinearobjectivefunction

  4. Stepwiselinearobjectivefunction • Binaryvariables • Introducingconstraints wherew1andw2arebinary

  5. Stepwiselinearobjectivefunction • A) • B) • C)

  6. Branchand boundalgorithm - idea • Threedecisionvariables x1 (integer-valued) and twobinaryvariablesx2 and x3. Constraints: 1 ≤ x1 ≤ 3, 0 ≤ x2 ≤ 1, 0 ≤ x3 ≤ 1 • Fullenumerationtree • Instead of buildingthewholetreeup front, builditsuccessivelystartingfromtheroot. Developonlythosebrancheswhichare most promisingatanygiven step. Most promisingisdetermined by estimatingbounds on thebestobjectivefunctionvaluegivencurrentinformationwhichcan be achieved by developing a givennodefurther.

  7. Basic concepts • Concepts: • node – eachpartialorcompletesolution • leafnode– completesolution • bud node– partialsolutionfeasibleorinfeasible • boundingfunction– estimationmethod for bud nodes, should be optimistic • branching, growing, expandingnodes– a process of creatingchildnodes for a bud node • incumbent • Branching • Bounding • fathoming • Prunning Variableselectionpolicy Bud prunningrules Algoritymterminationrules • Nodeselectionpolicy • Best-first / global-bestnodeselection • Depth-first • Breadth-first

  8. Example– an assignment problem • Meaning of thenodesin a tree: • Partialorcompleteassignement of people to tasks • Nodeselectionpolicy: global best • Variableselectionpolicy: choosethenexttaskin a natural order 1 to 4 • Boundingfunction: for unassignedtaskschoosethebestunassigned person, evenifshewere to be assignedtoomorethan one tasks • Algorithmterminationrule: whentheobjectivefunctionvalue for an incumbentsolutionisbetterorequal to theobjectivefunctionvalue for all bud nodes • Fathoming: a solutiongenerated by theboundingfunctionisfeasibleifeachtaskisassigned to a different person

  9. How do theboundingfunctionvaluescomeabout? • Lookatthe first stage bud node A • All solutionsrepresented by thisnodecan be denoted by A??? • Actualvalue of assigning person A to task 1 isequal to9 • Thebestyetunassigned person for task 2 is C, value = 1 • Thebestyetunassigned person for task3 isD, value = 2 • Thebestyetunassigned person for task4 is C, value = 2 • BoundingfunctionsolutionisACDC with a totalvalue of 9+1+2+2=14. • Thebestobjectivefunctionvalue of A??? is14. Itis not a feasiblesolutionbecause person C isassigned to 2 tasks. Person A istheonlyactuallyassignedperson.

  10. Creating a tree Prunnednodeshavebrokenedges Feasiblenodeshaveboldedges Prunnedfeasiblenodeshavebroken and boldedges First stage: root Secondstage: • NodeC??? isfathomed – the first incumbentfeasiblesolutionCBDA=13 • We canthenprunenodeA???, withboundingfunctionvalue of14. • Two bud nodeswhicharehope for improvement: B??? andD??? – global best: we chooseD???

  11. Building a tree Third stage: • Thereare no newfeasiblesolutions, so theincumbentsolutiondoes not change. • New nodescannot be prunned by comparingwiththecurrentincumbentsolutionorfathomed • We choosethe global bestfromamongB??? (9), DA?? (12), DB?? (10) oraz DC?? (12) • SoB???itis

  12. Building a tree • We fathomtwonodesBA?? and BC?? • A newincumbentfeasiblesolutionisBCDA=12 • We prunethepreviousincumbent CBDA • BA?? Isfeasible, but we pruneit by comparisonwith a newincumbentsolution • We prunenodesDA?? i DC?? by comparingthemwiththeincumbentsolution • If we wanted to find ALL optimalsolutions and not only one we canlateranalyzeitfurther • We areleftwithonly one bud nodeDB??. Fourthstage:

  13. Building a tree • DBAC hasbettervaluethantheincumbentsolution, so we replaceit and prunetheincumbent • DBCA ispruned by comparingitwiththeincumbentsolution • Thereare no more bud nodes to expand, so we terminate • We analyzed 13 out of 24 nodes • For biggerproblemsitgives a realacceleration Fifthstage:

  14. A goodboundingfunctionis a key • Travelling salesman problem: visiteach city exactlyonce and come back to whereyoustarted • Assume we have a partialsolution(bold) • Smart boundingfunction: a minimalspanningtree on thestarting and theendingnode of thecurrentpartialsolution and theunvisitednodes

  15. Branchand boundalgorithm for mixedintegerproblems (Dakin’salgorithm) • Thefollowingintegerprogramming problem isgiven:

  16. Solving an LP

  17. Divideintotwosubproblemsexcludingthecurrentnonfeasiblesolution.

  18. Thetwosubproblemssolved as LP

  19. Successivelydivide and solve an LP

  20. L3ignoredsinceitis not feasible

  21. We continueuntil we get an integersolution • We canstop theprocedureatL5 if we want to be at most 10% fromthe minimum (secondbest)

  22. Cuttingplanes

  23. Gomory cuts

More Related