Decison-Aid Methodologies in Transportation Optimization Exercise 3 Tomáš Robenek April 30, 2013 1 / 9
Agenda 1 Branch and Price 2 OPL Functions 2 / 9
1 Branch and Price Master Problem Initial Solution Sub-Problem 2 OPL Functions 3 / 9
Branch and Price Start Initial Columns Solve Master Problem New Columns • Initial Solution Dual Variables with Negative Reduced Cost • Column Generation – Lower Pricing Solver Bound No Columns with Negative Reduced Cost • Branch and Bound – Integer No Branch & Bound Solution? Optimal Integer Solution yes Output Solution End 4 / 9
Master Problem Start Initial Columns Solve Master Problem Idea New Columns Dual Variables with Negative Reduced Cost • Cutting Stock Problem Pricing Solver • relaxation of decision variables No Columns with Negative Reduced Cost • solution space significantly reduced, e.g. Integer No Branch & Bound Solution? faster to solve yes Output Solution End 5 / 9
Initial Solution Start Initial Columns Solve Master Problem New Columns Dual Variables with Negative Reduced Cost Pricing Solver • has to be feasible! No Columns with Negative • in your case already given Reduced Cost Integer No Branch & Bound Solution? yes Output Solution End 6 / 9
Sub-Problem Start Initial Columns Solve Master Problem Idea New Columns Dual Variables with Negative Reduced Cost • generate better columns based on the Pricing Solver reduced cost No Columns with Negative • need of dual variables Reduced Cost Integer No Branch & Bound • finish, when no negative reduced cost Solution? columns yes Output Solution End 7 / 9
1 Branch and Price 2 OPL Functions 8 / 9
• in the master problem use float decision variable(s); duals do not exist for integers • duals are per constraint, e.g.: • forall(i in Items) duals: x[i] <= 5; • to get the dual value then: • duals[i].dual • you can use the execute function to print the values in scripting log • no need for general code, solve it manually and copy paste the values • don’t forget to increase the size of the range columns after each iteration! • use one project with 2 configurations 9 / 9
Recommend
More recommend