Optimization Methods: Linear Programming- Revised Simplex Method 1

Total Page:16

File Type:pdf, Size:1020Kb

Optimization Methods: Linear Programming- Revised Simplex Method 1 Optimization Methods: Linear Programming- Revised Simplex Method 1 Module – 3 Lecture Notes – 5 Revised Simplex Method, Duality and Sensitivity analysis Introduction In the previous class, the simplex method was discussed where the simplex tableau at each iteration needs to be computed entirely. However, revised simplex method is an improvement over simplex method. Revised simplex method is computationally more efficient and accurate. Duality of LP problem is a useful property that makes the problem easier in some cases and leads to dual simplex method. This is also helpful in sensitivity or post optimality analysis of decision variables. In this lecture, revised simplex method, duality of LP, dual simplex method and sensitivity or post optimality analysis will be discussed. Revised Simplex method Benefit of revised simplex method is clearly comprehended in case of large LP problems. In simplex method the entire simplex tableau is updated while a small part of it is used. The revised simplex method uses exactly the same steps as those in simplex method. The only difference occurs in the details of computing the entering variables and departing variable as explained below. Let us consider the following LP problem, with general notations, after transforming it to its standard form and incorporating all required slack, surplus and artificial variables. () +++ ++= ZcxcxcxcxZ11 2 2 33 LLL nn 0 () +++ + = xi cx11 1 cx 12 2 cx 13 3LLL cx 1nn b 1 ()x cx+++ cx cxLLL + cx = b j 21 1 22 2 23 3 2nn 2 MM M MM M () +++ + = xlmmmmnnmcx11 cx 2 2 cx 33 LLL cx b As the revised simplex method is mostly beneficial for large LP problems, it will be discussed in the context of matrix notation. Matrix notation of above LP problem can be expressed as follows: D Nagesh Kumar, IISc, Bangalore M3L5 Optimization Methods: Linear Programming- Revised Simplex Method 2 Minimize z = CT X subject to : AX = B with : X ≥ 0 b ⎡ 1 ⎤ Λ ⎡x1 ⎤ ⎡c1 ⎤ ⎢ ⎥ ⎡0⎤ ⎡c11 c12 c1n ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ x c ⎢b2 ⎥ 0 c c Λ c where X = ⎢ 2 ⎥ , C = ⎢ 2 ⎥ , B = ⎢ ⎥ , 0 = ⎢ ⎥ , A = ⎢ 21 22 2n ⎥ ⎢ Μ⎥ ⎢ Μ⎥ ⎢ M⎥ ⎢Μ⎥ ⎢ Μ Μ Ο Μ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ x c ⎢ ⎥ 0 c c Λ c ⎣ n ⎦ ⎣ n ⎦ ⎢ ⎥ ⎣ ⎦ ⎣ m1 m2 mn ⎦ ⎣bm ⎦ It can be noted for subsequent discussion that column vector corresponding to a decision ⎡c1k ⎤ ⎢c ⎥ variable x is ⎢ 2k ⎥ . k ⎢ Μ⎥ ⎢ ⎥ ⎣cmk ⎦ Let XS is the column vector of basic variables. Also let CS is the row vector of costs coefficients corresponding to XS and S is the basis matrix corresponding to XS . 1. Selection of entering variable For each of the nonbasic variables, calculate the coefficient ()WP − c , where, P is the corresponding column vector associated with the nonbasic variable at hand, c is the cost = −1 coefficient associated with that nonbasic variable and W CS S . For maximization (minimization) problem, nonbasic variable, having the lowest negative (highest positive) coefficient, as calculated above, is the entering variable. 2. Selection of departing variable a. A new column vector U is calculated as U = S −1B . b. Corresponding to the entering variable, another vector V is calculated as V = S −1P , where P is the column vector corresponding to entering variable. c. It may be noted that length of both U and V is same (= m ). For i = 1,Λ ,m, the U()i ratios, , are calculated provided V()i > 0 . i = r , for which the ratio is least, is V()i noted. The r th basic variable of the current basis is the departing variable. If it is found that V()i ≤ 0 for all i , then further calculation is stopped concluding that bounded solution does not exist for the LP problem at hand. D Nagesh Kumar, IISc, Bangalore M3L5 Optimization Methods: Linear Programming- Revised Simplex Method 3 3. Update to new basis − = []−1 1 Old basis S , is updated to new basis S new , as S new ES η ⎡⎤10LL1 00 ⎢⎥ η ⎢⎥01LL2 00 ⎢⎥ ⎢⎥MMO ML MM ⎧V ()i ⎢⎥for i ≠ r ⎪V ()r where E = ⎢⎥MMLη L MM and η = r i ⎨ 1 ⎢⎥⎪ for i = r ⎢⎥MML MO MM ⎪V ()r ⎢⎥⎩ ⎢⎥00LLη 10 ⎢⎥m−1 ⎢⎥η ⎣⎦00LLm 01 r th column S is replaced by S new and steps 1 through 3 are repeated. If all the coefficients calculated in step 1, i.e., ()WP − c is positive (negative) in case of maximization (minimization) problem, then optimum solution is reached and the optimal solution is, = −1 = XS S B and z CXS Duality of LP problems Each LP problem (called as Primal in this context) is associated with its counterpart known as Dual LP problem. Instead of primal, solving the dual LP problem is sometimes easier when a) the dual has fewer constraints than primal (time required for solving LP problems is directly affected by the number of constraints, i.e., number of iterations necessary to converge to an optimum solution which in Simplex method usually ranges from 1.5 to 3 times the number of structural constraints in the problem) and b) the dual involves maximization of an objective function (it may be possible to avoid artificial variables that otherwise would be used in a primal minimization problem). The dual LP problem can be constructed by defining a new decision variable for each constraint in the primal problem and a new constraint for each variable in the primal. The coefficients of the j th variable in the dual’s objective function is the i th component of the primal’s requirements vector (right hand side values of the constraints in the Primal). The dual’s requirements vector consists of coefficients of decision variables in the primal objective function. Coefficients of each constraint in the dual (i.e., row vectors) are the D Nagesh Kumar, IISc, Bangalore M3L5 Optimization Methods: Linear Programming- Revised Simplex Method 4 column vectors associated with each decision variable in the coefficients matrix of the primal problem. In other words, the coefficients matrix of the dual is the transpose of the primal’s coefficient matrix. Finally, maximizing the primal problem is equivalent to minimizing the dual and their respective values will be exactly equal. When a primal constraint is less than equal to in equality, the corresponding variable in the dual is non-negative. And equality constraint in the primal problem means that the corresponding dual variable is unrestricted in sign. Obviously, dual’s dual is primal. In summary the following relationships exists between primal and dual. Primal Dual Maximization Minimization Minimization Maximization ith variable ith constraint j th constraint j th variable Inequality sign of ith Constraint: ≥ xi 0 ≤ if dual is maximization ≥ if dual is minimization ith variable unrestricted ith constraint with = sign j th constraint with = sign j th variable unrestricted Cost coefficient associated with j th RHS of j th constraint variable in the objective function Cost coefficient associated with ith variable in the objective RHS of ith constraint function See the pictorial representation in the next page for better understanding and quick reference: D Nagesh Kumar, IISc, Bangalore M3L5 Optimization Methods: Linear Programming- Revised Simplex Method 5 Mark the corresponding decision variables in the dual Cost coefficients for Opposite for the Dual, the Objective Function i.e., Minimize =+ + + Maximize Zcxcx11 2 2 LLL cxnn ++ +=⎯⎯→ Subject to cx11 1 cx 12 2LLL cx 1nn b 1 y 1 cx++ cxLLL +≤⎯⎯ cx b→ y 21 1 22 2 2nn 2 2 Thus the Objective Function, +++ MMMinimize by11 by 2 2 L bmm y +++≤⎯⎯→ cxmm11 cx 2 2 LLL cx mnnmm b y ≥≥ xx120, unrestricted,L , xn 0 Thus, the 1st constraint, Right hand cy +++≤ cyL c y c Coefficients Corresponding st 11 1 21 2mm 1 1 st st side of the 1 of the 1 sign of the 1 constraint constraint constraint is ≤ nd Coefficients Corresponding Right hand Thus, the 2 constraint, nd nd nd +++= of the 2 sign of the 2 side of the 2 cy12 1 cy 22 2L cmm 2 y c 2 constraint constraint is = constraint M M M M Determine the Determine the Determine the sign of y1 sign of y2 LL sign of ym Dual Problem =+ + + Minimize Zbyby11 2 2 LLL bymm ++ + ≤ Subject to cy11 1 cy 21 2LLL cmm 1 y c 1 ++ + = cy12 1 cy 22 2LLL cmm 2 y c 2 MM +++≤ cy11nn cy 2 2 LLL c mnmn y c ≥≥ yyy12unrestricted, 0,L ,m 0 D Nagesh Kumar, IISc, Bangalore M3L5 Optimization Methods: Linear Programming- Revised Simplex Method 6 It may be noted that, before finding its dual, all the constraints should be transformed to ‘less- than-equal-to’ or ‘equal-to’ type for maximization problem and to ‘greater-than-equal-to’ or ‘equal-to’ type for minimization problem. It can be done by multiplying with −1 both sides of the constraints, so that inequality sign gets reversed. An example of finding dual problem is illustrated with the following example. Primal Dual = + ′ = − + Maximize Z 4x1 3x2 Minimize Z 6000y1 2000y2 4000y3 Subject to Subject to 2 y − y + y = 4 x + x ≤ 6000 1 2 3 1 3 2 2 + ≤ − ≥ y1 y2 3 x1 x2 2000 3 ≤ ≥ x1 4000 y1 0 ≥ x1 unrestricted y2 0 ≥ ≥ x2 0 y3 0 −+ ≤− It may be noted that second constraint in the primal is transformed to xx12 2000 before constructing the dual. Primal-Dual relationships Following points are important to be noted regarding primal-dual relationship: 1. If one problem (either primal or dual) has an optimal feasible solution, other problem also has an optimal feasible solution. The optimal objective function value is same for both primal and dual. 2. If one problem has no solution (infeasible), the other problem is either infeasible or unbounded.
Recommended publications
  • A Lifted Linear Programming Branch-And-Bound Algorithm for Mixed Integer Conic Quadratic Programs Juan Pablo Vielma, Shabbir Ahmed, George L
    A Lifted Linear Programming Branch-and-Bound Algorithm for Mixed Integer Conic Quadratic Programs Juan Pablo Vielma, Shabbir Ahmed, George L. Nemhauser, H. Milton Stewart School of Industrial and Systems Engineering, Georgia Institute of Technology, 765 Ferst Drive NW, Atlanta, GA 30332-0205, USA, {[email protected], [email protected], [email protected]} This paper develops a linear programming based branch-and-bound algorithm for mixed in- teger conic quadratic programs. The algorithm is based on a higher dimensional or lifted polyhedral relaxation of conic quadratic constraints introduced by Ben-Tal and Nemirovski. The algorithm is different from other linear programming based branch-and-bound algo- rithms for mixed integer nonlinear programs in that, it is not based on cuts from gradient inequalities and it sometimes branches on integer feasible solutions. The algorithm is tested on a series of portfolio optimization problems. It is shown that it significantly outperforms commercial and open source solvers based on both linear and nonlinear relaxations. Key words: nonlinear integer programming; branch and bound; portfolio optimization History: February 2007. 1. Introduction This paper deals with the development of an algorithm for the class of mixed integer non- linear programming (MINLP) problems known as mixed integer conic quadratic program- ming problems. This class of problems arises from adding integrality requirements to conic quadratic programming problems (Lobo et al., 1998), and is used to model several applica- tions from engineering and finance. Conic quadratic programming problems are also known as second order cone programming problems, and together with semidefinite and linear pro- gramming (LP) problems are special cases of the more general conic programming problems (Ben-Tal and Nemirovski, 2001a).
    [Show full text]
  • Linear Programming
    Lecture 18 Linear Programming 18.1 Overview In this lecture we describe a very general problem called linear programming that can be used to express a wide variety of different kinds of problems. We can use algorithms for linear program- ming to solve the max-flow problem, solve the min-cost max-flow problem, find minimax-optimal strategies in games, and many other things. We will primarily discuss the setting and how to code up various problems as linear programs At the end, we will briefly describe some of the algorithms for solving linear programming problems. Specific topics include: • The definition of linear programming and simple examples. • Using linear programming to solve max flow and min-cost max flow. • Using linear programming to solve for minimax-optimal strategies in games. • Algorithms for linear programming. 18.2 Introduction In the last two lectures we looked at: — Bipartite matching: given a bipartite graph, find the largest set of edges with no endpoints in common. — Network flow (more general than bipartite matching). — Min-Cost Max-flow (even more general than plain max flow). Today, we’ll look at something even more general that we can solve algorithmically: linear pro- gramming. (Except we won’t necessarily be able to get integer solutions, even when the specifi- cation of the problem is integral). Linear Programming is important because it is so expressive: many, many problems can be coded up as linear programs (LPs). This especially includes problems of allocating resources and business 95 18.3. DEFINITION OF LINEAR PROGRAMMING 96 supply-chain applications. In business schools and Operations Research departments there are entire courses devoted to linear programming.
    [Show full text]
  • Integer Linear Programs
    20 ________________________________________________________________________________________________ Integer Linear Programs Many linear programming problems require certain variables to have whole number, or integer, values. Such a requirement arises naturally when the variables represent enti- ties like packages or people that can not be fractionally divided — at least, not in a mean- ingful way for the situation being modeled. Integer variables also play a role in formulat- ing equation systems that model logical conditions, as we will show later in this chapter. In some situations, the optimization techniques described in previous chapters are suf- ficient to find an integer solution. An integer optimal solution is guaranteed for certain network linear programs, as explained in Section 15.5. Even where there is no guarantee, a linear programming solver may happen to find an integer optimal solution for the par- ticular instances of a model in which you are interested. This happened in the solution of the multicommodity transportation model (Figure 4-1) for the particular data that we specified (Figure 4-2). Even if you do not obtain an integer solution from the solver, chances are good that you’ll get a solution in which most of the variables lie at integer values. Specifically, many solvers are able to return an ‘‘extreme’’ solution in which the number of variables not lying at their bounds is at most the number of constraints. If the bounds are integral, all of the variables at their bounds will have integer values; and if the rest of the data is integral, many of the remaining variables may turn out to be integers, too.
    [Show full text]
  • Chapter 11: Basic Linear Programming Concepts
    CHAPTER 11: BASIC LINEAR PROGRAMMING CONCEPTS Linear programming is a mathematical technique for finding optimal solutions to problems that can be expressed using linear equations and inequalities. If a real-world problem can be represented accurately by the mathematical equations of a linear program, the method will find the best solution to the problem. Of course, few complex real-world problems can be expressed perfectly in terms of a set of linear functions. Nevertheless, linear programs can provide reasonably realistic representations of many real-world problems — especially if a little creativity is applied in the mathematical formulation of the problem. The subject of modeling was briefly discussed in the context of regulation. The regulation problems you learned to solve were very simple mathematical representations of reality. This chapter continues this trek down the modeling path. As we progress, the models will become more mathematical — and more complex. The real world is always more complex than a model. Thus, as we try to represent the real world more accurately, the models we build will inevitably become more complex. You should remember the maxim discussed earlier that a model should only be as complex as is necessary in order to represent the real world problem reasonably well. Therefore, the added complexity introduced by using linear programming should be accompanied by some significant gains in our ability to represent the problem and, hence, in the quality of the solutions that can be obtained. You should ask yourself, as you learn more about linear programming, what the benefits of the technique are and whether they outweigh the additional costs.
    [Show full text]
  • Chapter 7. Linear Programming and Reductions
    Chapter 7 Linear programming and reductions Many of the problems for which we want algorithms are optimization tasks: the shortest path, the cheapest spanning tree, the longest increasing subsequence, and so on. In such cases, we seek a solution that (1) satisfies certain constraints (for instance, the path must use edges of the graph and lead from s to t, the tree must touch all nodes, the subsequence must be increasing); and (2) is the best possible, with respect to some well-defined criterion, among all solutions that satisfy these constraints. Linear programming describes a broad class of optimization tasks in which both the con- straints and the optimization criterion are linear functions. It turns out an enormous number of problems can be expressed in this way. Given the vastness of its topic, this chapter is divided into several parts, which can be read separately subject to the following dependencies. Flows and matchings Introduction to linear programming Duality Games and reductions Simplex 7.1 An introduction to linear programming In a linear programming problem we are given a set of variables, and we want to assign real values to them so as to (1) satisfy a set of linear equations and/or linear inequalities involving these variables and (2) maximize or minimize a given linear objective function. 201 202 Algorithms Figure 7.1 (a) The feasible region for a linear program. (b) Contour lines of the objective function: x1 + 6x2 = c for different values of the profit c. x x (a) 2 (b) 2 400 400 Optimum point Profit = $1900 ¡ ¡ ¡ ¡ ¡ 300 ¢¡¢¡¢¡¢¡¢ 300 ¡ ¡ ¡ ¡ ¡ ¢¡¢¡¢¡¢¡¢ ¡ ¡ ¡ ¡ ¡ ¢¡¢¡¢¡¢¡¢ 200 200 c = 1500 ¡ ¡ ¡ ¡ ¡ ¢¡¢¡¢¡¢¡¢ ¡ ¡ ¡ ¡ ¡ ¢¡¢¡¢¡¢¡¢ c = 1200 ¡ ¡ ¡ ¡ ¡ 100 ¢¡¢¡¢¡¢¡¢ 100 ¡ ¡ ¡ ¡ ¡ ¢¡¢¡¢¡¢¡¢ c = 600 ¡ ¡ ¡ ¡ ¡ ¢¡¢¡¢¡¢¡¢ x1 x1 0 100 200 300 400 0 100 200 300 400 7.1.1 Example: profit maximization A boutique chocolatier has two products: its flagship assortment of triangular chocolates, called Pyramide, and the more decadent and deluxe Pyramide Nuit.
    [Show full text]
  • Linear Programming
    Stanford University | CS261: Optimization Handout 5 Luca Trevisan January 18, 2011 Lecture 5 In which we introduce linear programming. 1 Linear Programming A linear program is an optimization problem in which we have a collection of variables, which can take real values, and we want to find an assignment of values to the variables that satisfies a given collection of linear inequalities and that maximizes or minimizes a given linear function. (The term programming in linear programming, is not used as in computer program- ming, but as in, e.g., tv programming, to mean planning.) For example, the following is a linear program. maximize x1 + x2 subject to x + 2x ≤ 1 1 2 (1) 2x1 + x2 ≤ 1 x1 ≥ 0 x2 ≥ 0 The linear function that we want to optimize (x1 + x2 in the above example) is called the objective function.A feasible solution is an assignment of values to the variables that satisfies the inequalities. The value that the objective function gives 1 to an assignment is called the cost of the assignment. For example, x1 := 3 and 1 2 x2 := 3 is a feasible solution, of cost 3 . Note that if x1; x2 are values that satisfy the inequalities, then, by summing the first two inequalities, we see that 3x1 + 3x2 ≤ 2 that is, 1 2 x + x ≤ 1 2 3 2 1 1 and so no feasible solution has cost higher than 3 , so the solution x1 := 3 , x2 := 3 is optimal. As we will see in the next lecture, this trick of summing inequalities to verify the optimality of a solution is part of the very general theory of duality of linear programming.
    [Show full text]
  • Implementing Customized Pivot Rules in COIN-OR's CLP with Python
    Cahier du GERAD G-2012-07 Customizing the Solution Process of COIN-OR's Linear Solvers with Python Mehdi Towhidi1;2 and Dominique Orban1;2 ? 1 Department of Mathematics and Industrial Engineering, Ecole´ Polytechnique, Montr´eal,QC, Canada. 2 GERAD, Montr´eal,QC, Canada. [email protected], [email protected] Abstract. Implementations of the Simplex method differ only in very specific aspects such as the pivot rule. Similarly, most relaxation methods for mixed-integer programming differ only in the type of cuts and the exploration of the search tree. Implementing instances of those frame- works would therefore be more efficient if linear and mixed-integer pro- gramming solvers let users customize such aspects easily. We provide a scripting mechanism to easily implement and experiment with pivot rules for the Simplex method by building upon COIN-OR's open-source linear programming package CLP. Our mechanism enables users to implement pivot rules in the Python scripting language without explicitly interact- ing with the underlying C++ layers of CLP. In the same manner, it allows users to customize the solution process while solving mixed-integer linear programs using the CBC and CGL COIN-OR packages. The Cython pro- gramming language ensures communication between Python and COIN- OR libraries and activates user-defined customizations as callbacks. For illustration, we provide an implementation of a well-known pivot rule as well as the positive edge rule|a new rule that is particularly efficient on degenerate problems, and demonstrate how to customize branch-and-cut node selection in the solution of a mixed-integer program.
    [Show full text]
  • A Branch-And-Bound Algorithm for Zero-One Mixed Integer
    A BRANCH-AND-BOUND ALGORITHM FOR ZERO- ONE MIXED INTEGER PROGRAMMING PROBLEMS Ronald E. Davis Stanford University, Stanford, California David A. Kendrick University of Texas, Austin, Texas and Martin Weitzman Yale University, New Haven, Connecticut (Received August 7, 1969) This paper presents the results of experimentation on the development of an efficient branch-and-bound algorithm for the solution of zero-one linear mixed integer programming problems. An implicit enumeration is em- ployed using bounds that are obtained from the fractional variables in the associated linear programming problem. The principal mathematical result used in obtaining these bounds is the piecewise linear convexity of the criterion function with respect to changes of a single variable in the interval [0, 11. A comparison with the computational experience obtained with several other algorithms on a number of problems is included. MANY IMPORTANT practical problems of optimization in manage- ment, economics, and engineering can be posed as so-called 'zero- one mixed integer problems,' i.e., as linear programming problems in which a subset of the variables is constrained to take on only the values zero or one. When indivisibilities, economies of scale, or combinatoric constraints are present, formulation in the mixed-integer mode seems natural. Such problems arise frequently in the contexts of industrial scheduling, investment planning, and regional location, but they are by no means limited to these areas. Unfortunately, at the present time the performance of most compre- hensive algorithms on this class of problems has been disappointing. This study was undertaken in hopes of devising a more satisfactory approach. In this effort we have drawn on the computational experience of, and the concepts employed in, the LAND AND DoIGE161 Healy,[13] and DRIEBEEKt' I algorithms.
    [Show full text]
  • Production Models: Maximizing Profits
    1 ________________________________________________________________________________________________ Production Models: Maximizing Profits As we saw in the Introduction, mathematical programming is a technique for solving certain kinds of optimization problems Ð maximizing profit, minimizing cost, etc. Ð subject to constraints on resources, capacities, supplies, demands, and the like. AMPL is a language for specifying such mathematical optimization problems. It provides a notation that is very close to the way that you might describe a problem mathematically, so that it is easy to convert from an algebraic description to AMPL. We will concentrate initially on linear programming, which is the best known and eas- iest case; other kinds of mathematical programming are taken up toward the end of the book. This chapter addresses one of the most common applications of linear program- ming: maximizing the profit of some operation, subject to constraints that limit what can be produced. Chapters 2 and 3 are devoted to two other equally common kinds of linear programs, and Chapter 4 shows how linear programming models can be replicated and combined to produce truly large-scale problems. These chapters are written with the beginner in mind, but experienced practitioners of mathematical programming should find them useful as a quick introduction to AMPL. We begin with a linear program (or LP for short) with only two variables, motivated by a mythical steelmaking operation. This will provide a quick review of linear program- ming to refresh your memory if you already have some experience, or to help you get started if you're just learning. We'll show how the same LP can be represented as a gen- eral algebraic model of production, together with specific data.
    [Show full text]
  • 1 Linear Programming
    ORF 523 Lecture 9 Princeton University Instructor: A.A. Ahmadi Scribe: G. Hall Any typos should be emailed to a a [email protected]. In this lecture, we see some of the most well-known classes of convex optimization problems and some of their applications. These include: • Linear Programming (LP) • (Convex) Quadratic Programming (QP) • (Convex) Quadratically Constrained Quadratic Programming (QCQP) • Second Order Cone Programming (SOCP) • Semidefinite Programming (SDP) 1 Linear Programming Definition 1. A linear program (LP) is the problem of optimizing a linear function over a polyhedron: min cT x T s.t. ai x ≤ bi; i = 1; : : : ; m; or written more compactly as min cT x s.t. Ax ≤ b; for some A 2 Rm×n; b 2 Rm: We'll be very brief on our discussion of LPs since this is the central topic of ORF 522. It suffices to say that LPs probably still take the top spot in terms of ubiquity of applications. Here are a few examples: • A variety of problems in production planning and scheduling 1 • Exact formulation of several important combinatorial optimization problems (e.g., min-cut, shortest path, bipartite matching) • Relaxations for all 0/1 combinatorial programs • Subroutines of branch-and-bound algorithms for integer programming • Relaxations for cardinality constrained (compressed sensing type) optimization prob- lems • Computing Nash equilibria in zero-sum games • ::: 2 Quadratic Programming Definition 2. A quadratic program (QP) is an optimization problem with a quadratic ob- jective and linear constraints min xT Qx + qT x + c x s.t. Ax ≤ b: Here, we have Q 2 Sn×n, q 2 Rn; c 2 R;A 2 Rm×n; b 2 Rm: The difficulty of this problem changes drastically depending on whether Q is positive semidef- inite (psd) or not.
    [Show full text]
  • Notes 1: Introduction to Optimization Models
    Notes 1: Introduction to Optimization Models IND E 599 September 29, 2010 IND E 599 Notes 1 Slide 1 Course Objectives I Survey of optimization models and formulations, with focus on modeling, not on algorithms I Include a variety of applications, such as, industrial, mechanical, civil and electrical engineering, financial optimization models, health care systems, environmental ecology, and forestry I Include many types of optimization models, such as, linear programming, integer programming, quadratic assignment problem, nonlinear convex problems and black-box models I Include many common formulations, such as, facility location, vehicle routing, job shop scheduling, flow shop scheduling, production scheduling (min make span, min max lateness), knapsack/multi-knapsack, traveling salesman, capacitated assignment problem, set covering/packing, network flow, shortest path, and max flow. IND E 599 Notes 1 Slide 2 Tentative Topics Each topic is an introduction to what could be a complete course: 1. basic linear models (LP) with sensitivity analysis 2. integer models (IP), such as the assignment problem, knapsack problem and the traveling salesman problem 3. mixed integer formulations 4. quadratic assignment problems 5. include uncertainty with chance-constraints, stochastic programming scenario-based formulations, and robust optimization 6. multi-objective formulations 7. nonlinear formulations, as often found in engineering design 8. brief introduction to constraint logic programming 9. brief introduction to dynamic programming IND E 599 Notes 1 Slide 3 Computer Software I Catalyst Tools (https://catalyst.uw.edu/) I AIMMS - optimization software (http://www.aimms.com/) Ming Fang - AIMMS software consultant IND E 599 Notes 1 Slide 4 What is Mathematical Programming? Mathematical programming refers to \programming" as a \planning" activity: as in I linear programming (LP) I integer programming (IP) I mixed integer linear programming (MILP) I non-linear programming (NLP) \Optimization" is becoming more common, e.g.
    [Show full text]
  • ILOG AMPL CPLEX System Version 9.0 User's Guide
    ILOG AMPL CPLEX System Version 9.0 User’s Guide Standard (Command-line) Version Including CPLEX Directives September 2003 Copyright © 1987-2003, by ILOG S.A. All rights reserved. ILOG, the ILOG design, CPLEX, and all other logos and product and service names of ILOG are registered trademarks or trademarks of ILOG in France, the U.S. and/or other countries. JavaTM and all Java-based marks are either trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Microsoft, Windows, and Windows NT are either trademarks or registered trademarks of Microsoft Corporation in the U.S. and other countries. All other brand, product and company names are trademarks or registered trademarks of their respective holders. AMPL is a registered trademark of AMPL Optimization LLC and is distributed under license by ILOG.. CPLEX is a registered trademark of ILOG.. Printed in France. CO N T E N T S Table of Contents Chapter 1 Introduction . 1 Welcome to AMPL . .1 Using this Guide. .1 Installing AMPL . .2 Requirements. .2 Unix Installation . .3 Windows Installation . .3 AMPL and Parallel CPLEX. 4 Licensing . .4 Usage Notes . .4 Installed Files . .5 Chapter 2 Using AMPL. 7 Running AMPL . .7 Using a Text Editor . .7 Running AMPL in Batch Mode . .8 Chapter 3 AMPL-Solver Interaction . 11 Choosing a Solver . .11 Specifying Solver Options . .12 Initial Variable Values and Solvers. .13 ILOG AMPL CPLEX SYSTEM 9.0 — USER’ S GUIDE v Problem and Solution Files. .13 Saving temporary files . .14 Creating Auxiliary Files . .15 Running Solvers Outside AMPL. .16 Using MPS File Format .
    [Show full text]