A MINTO Short Course 1
Total Page:16
File Type:pdf, Size:1020Kb
A MINTO short course Martin WPSavelsb ergh George L Nemhauser Georgia Institute of Technology School of Industrial and Systems Engineering Atlanta GA February Intro duction MINTO is a software system that solves mixedinteger linear programs by a branchand b ound algorithm with linear programming relaxations It also provides automatic con straint classication prepro cessing primal heuristics and constraint generation More over the user can enrich the basic algorithm by providing a variety of sp ecialized appli cation routines that can customize MINTO to achievemaximum eciency for a problem class An overview of MINTO discussing the design philosophy and general features can b e found in Nemhauser Savelsb ergh and Sigismondi a detailed description of the customization options can b e found in Savelsb ergh and Nemhauser and an indepth presentation of some of the system functions of MINTO can b e found in Savelsb ergh and Gu Nemhauser and Savelsb ergh a b a b c General references on mixedinteger linear programming are Schrijver and Nemhauser and Wolsey This short course illustrates many of MINTOs capabilities and teaches the basic MINTO customization pro cess through a set of exercises Most exercises require the development of one or more application functions in order to customize MINTO so as to b e more eective on a class of problems The exercises are presented in order of increasing diculty This short course can b e used to complement a standard course on integer programming Because MINTO always works with a maximization problem MINTO will auto matically convert a minimization problem to a maximization problem lower b ounds corresp ond to feasible solutions and upp er b ounds corresp onds to LP relaxations At the end of each exercise we list the relevant application functions This researchwas supp orted by NSF Grant No DMI Exercise MINTOs command line options The runtime b ehavior of MINTO dep ends on the command line options The command line options allow the user to selectively activate or deactivate one or more system func tions Fine tune MINTO ie determine which system functions should b e activated and which system functions should b e deactivated in order to achieve the b est p erformance in terms of elapsed cpu time for each of the problems in MINTOs test set Compare the results with the results if MINTO is run with its default settings Exercise Truncate tree search A simple way to turn an optimization algorithm based on branchandb ound into an approximation algorithm is to truncate the search tree This is usually done by the use of an optimality tolerance Instead of fathoming a no de if the upp er b ound is smaller than or equal to the lower b ound a no de is fathomed if the upp er b ound is smaller than or equal to the lower b ound plus some tolerance Implement a truncated tree search algorithm with an optimality tolerance of p ercentandevaluate its p erformance on the set of default problems provided with the distribution of MINTO Investigate how these results are aected by deactivating MINTOs primal heuristic fathom appl Exercise Generalized upp er b ound constraints Manyinteger programs with binary variables have generalized upper bound constraints of the form X x for i p j j Q i where the Q s are disjoint subsets Here we explore a branching scheme that has proved i to b e a very eectiveway of handling these constraints and is widely used in mathematical programming systems it is also part of MINTOs enhanced branching scheme Supp ose in an LP relaxation wehavex for some k Q Conventional k i P branching on x is equivalenttox and x since the latter equalityis k k j j Q nfk g i implied by x Now unless there is a go o d reason for singling out x as the variable k k that is likely to b e equal to the x branch will probably contain relatively few k solutions as compared to the x branch If this is the case almost no progress will k have b een made since the no de with x corresp onds to nearly the same feasible k region as that of its father It app ears more desirable to try and divide the feasible region of the father more evenly over the sons To accomplish this we consider the branching rule X X x or x j j j Q j Q nQ i i i P We can use this branching rule for any Q Q such that x i j i j Q i Implement the ab ove discussed branching rule and evaluate its p erformance on the Pproblems in MINTOs test set Since MINTOs enhanced branching incorp orates GUB branching it is necessary to deactivate enhanced branching when evaluating your implementation of GUB branching divide appl Exercise Knapsackcover inequalities Consider the set P of feasible solutions to a knapsack problem ie X n P fx B a x bg j j j N where without loss of generalitywe assume that a forj N since variables j can b e complemented and a b since a b implies x j j j P AsetC N is called a cover if a b The cover is minimal if C is minimal j j C with resp ect to this prop ertyFor anycover C the inequality X x jC j j j C is called a cover inequality and is valid for P Given a fractional p oint the problem of nding an inequality that is violated by this pointorshowing that no such inequality exists is called the separation problem n n For cover inequalities we are given a p oint x R n B and wewant to nd a C P P n assuming that one exists with a b and x jC j Intro duce z B j j C j C j to represent the characteristic vector of the cover C that is yet to b e determined It P P P has to satisfy a z band x z z The second inequalityis j j j j j N j N j j N P equivalentto x z Thus the separation problem is j j N j X X n minf x z a z bz B g j j j j j N j N P If then the inequality jC j cuts o x and we call C a violated cover j C If then no violated cover exists Since every row in the constraint matrix of a integer program denes a knapsack problem knapsackcovers can b e used in a branchandcut algorithm for the solution of integer programs Implement a branchandcut algorithm based on knapsackcovers and evaluate its p erformance on the Pproblems pmps pmps and pmps Compare the p erformance of the following three algorithms a plain LPbased branchandb ound al gorithm MINTO with its default settings and your branchandcut algorithm appl constraints Exercise Economic lot sizing problem The economic lot sizing problem considers pro duction planning over a horizon of T pe rio ds In p erio d t t T there is a given demand d that must b e satised by t pro duction in p erio d t and byinventory carried over from previous p erio ds There is a setup up cost f asso ciated with pro duction in p erio d tFurthermore the unit pro duc t tion cost in p erio d t is equal to c Let the pro duction in p erio d t b e denoted by y IIR t t and let x f g indicates whether the plant op erates during p erio d t The economic t lot sizing problem is formulated as follows X min f x c y t t t t tT X y d x t T t k t k T X X d t T y k k k t k t x f g y IIR t t An example of an instance of the economic lot sizing problem and an optimal solution P to this instance is given in Table Let d d A class of facet inducing pq k pk q inequalities for the economic lot sizing problem known as the l S inequalities is given by X X y d x d l S f l g t tl t l tS tflgnS Observe the following X X X y d x min fy d x g d t tl t t tl t l tS tl tflgnS Table Instance and optimal solution of the economic lot sizing problem f t c t d t x t y t Design a separation algorithm based on the ab ove observation and develop a branchand cut algorithm based on this class of facet inducing inequalities Evaluate the p erformance of the branchandcut algorithm on some randomly generated instances of the economic lot sizing problem appl constraints appl mps Exercise Primal heuristics for no de packing A node packing in a graph G V E is a subset V V such that for all u v V the edge fu v g is not in E Thenode packing problem asks for the identication of the maximum cardinality no de packing The no de packing problem can b e formulated as follows X max x v v V x x fu v g E u v x f g v V i where x is a binary variable indicating whether no de v is in the no de packing x v v or not x v Develop a random graph generator that generates graphs with dierent densities the density of a graph is dened as the ratio of the numb er of edges in the graph and the numb er of p ossible edges in the graph and evaluate MINTOs p erformance on some randomly generated graphs of dierent densities Develop a primal heuristic that converts an LP solution into a feasible no de packing and compare its p erformance with MINTOs general purp ose primal heuristic appl mps appl primal Exercise Linear ordering problem The linear ordering problem is an NPhard combinatorial optimization problem with a large numb er of applications including triangulation of the inputoutput matrices archaeological seriation minimizing total weighted completion time in singlemachine scheduling and aggregation of individual preferences The linear ordering problem can b e stated as a graph theoretic problem as follows A tournament is a digraph such that for every twonodes u and v the arc set contains exactly one arc with endno des u and v ie a tournamenton n no des is an orientation of K the complete graph on n no des Given a complete digraph D V A on n n n n no des and arc weights c for all arcs ij A the linear ordering problem is to nd a ij n maximum weight acyclic tournamentV T in D This leads to the following integer n programming formulation