A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

Save this PDF as:

Size: px
Start display at page:

Download "A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem"

Transcription

1 A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington, NC Introduction The standard mathematical programming problem involves finding an optimal solution for ust one decision maker. But many planning problems contain an hierarchical decision structure, each with independent, and often conflicting obectives. These types of problems can be modeled using a multilevel programming approach. Bilevel programming is the simpliest class of multilevel programming problems in which there are two independent decision makers. An upper level decision maker and a lower level decision maker. One example might be the CEO of a company as the upper level decision maker and the head of a division of the company as the lower level decision maker. Algorithms have been proposed to solve the bilevel linear programming problem and the mixed integer binary bilevel linear programming problem. In this paper, we develop an branch and bound algorithm for solving the binary bilevel linear programming problem. In section 2, we present the formulations for the various bi-level linear programming problems and discuss previous results. Section 3 contains results we use to establish upper bounds for the branches of the branch and bound tree. Our algorithm is contained in section 4 and

2 section 5 contains computational results. 2 Bilevel Programming Bilevel programming problems are characterized by two levels of hierarchical decision making. The top planner makes its decision in full view of the bottom planner. Each planner attempts to optimize its obective function and is affected by the actions of the other planner. The properties of bilevel programming problems are summarized as follows: [2] 1. The system has interacting decision making units within a hierarchical structure. 2. The lower unit executes its policies after, and in view of, the decisions of the higher unit. 3. Each level maximizes net benefits independently, no compromise is possible. 4. The effect of the upper decision maker on the lower problem is reflected in both its obective function and set of feasible decisions. This idea was further developed by Bard and Falk in a 1989 paper [1] where they considered the following mixed integer bi-level linear programming problem. We use BLPP to denote bi-level linear programming problem. Let x 1 be an n 11 -dimensional vector of continuous variables and x 2 be an n 12 -dimensional vector of discrete variables, where x (x 1, x 2 ) and n 1 = n 11 +n 12. Similarly let y 1 be an n 21 - dimensional vector of continuous variables and y 2 be an n 22 -dimensional vector of discrete variables, where y (y 1, y 2 ) and n 2 = n 21 + n 22. This leads to max x F(x,y) = x 1 + c 12 x 2 + d 11 y 1 + d 12 y 2 (1a) subect to max y f(y) = d 21 y 1 + d 22 y 2 (1b)

3 subect to g(x,y) = A 1 x 1 + A 2 x 2 + B 1 y 1 + B 2 y 2 b (1c) x 0, y 0 x 2, y 2 integer. (1d) Definition 1 For x 0, x 2 integer, let Ω(x) = {y : y 0, y 2 integer, g(x,y) b} and M(x) = {y : arg max{f(y ) : y Ω(x)}}. Definition 2 If ȳ M( x) then ȳ is said to be optimal with respect to x ; such a pair is said to be bi-level feasible. Definition 3 A point (x, y ) is said to be an optimal solution to the BLPP if a. (x, y ) is bi-level feasible ; and, b. for all bi-level feasible pairs ( x, ȳ), F (x, y ) F ( x, ȳ). The three normal fathoming rules when using a branch and bound method for a general mixed integer programming problem are: Rule 1 The relaxed subproblem has no feasible solution. Rule 2 The solution of the relaxed subproblem is no greater than the value of the current best feasible solution. Rule 3 The solution of the relaxed subproblem is feasible to the original problem. Bard and Falk [1] showed that when solving the BLPP only rule 1 can be applied. They produced counter examples to show that rules 2 and 3 do not always apply when solving the (mixed) integer BLPP. Thus a new branch and bound strategy needed to be developed to solve the (mixed) integer BLPP. In this paper, we consider the following (purely integer) binary bilevel linear programming problem. max f 1 (x 1, x 2 ) = x 1 + c 12 x 2 (2a) x 1

4 subect to max f 2 (x 1, x 2 ) = c 21 x 1 + c 22 x 2 (2b) x 2 subect to A 1 x 1 + A 2 x 2 b 2 x 1 = {x 1 1, x 1 2,..., x 1 n1} x 2 = {x 2 1, x 2 2,..., x 2 n2} (2c) (2d) (2e) x 1 {0, 1}, = 1, 2,..., n1 (2f) x 2 i {0, 1}, i = 1, 2,..., n2. (2g) Note that the leader s variables are chosen first and thus become a constant in the followers obective function and do not affect its optimization. In 1990, Wen and Yang [3] developed a branch and bound algorithm to solve the mixed integer binary bi-level linear programming problem. In their formulation, the followers variables were not required to be binary but were continuous variables only restricted to be non-negative. Their algorithm used upper and lower bounds to prune off the tree but did not use upper bounds to decide which were the the most efficient branches to chose in the tree. The algorithm proposed in this paper generalizes many of the ideas originally proposed by Wen and Yang and will impose a preferential choice on which branch to take in the tree based on calculating upper bounds for the leader s obective function. Wen and Yang utilized a particular notation for the value of the leader s variables at any level in the branch and bound tree. This notation will also be used in this paper. This notation is defined as follows: k: the order number of the current node in the branch-and-bound tree: Jk 0 = { x 1 is a free binary variable, = 1, 2,..., n1}; J + k = { x1 is fixed at 1, = 1, 2,..., n1};

5 J k = { x1 is fixed at 0, = 1, 2,..., n1}; This allows for the formulation of the binary problem (T P f ) in terms of fixing of some of the leader s variables as follows: (T P f ): max x 1 f 1 = x c 12 i x 2 i (3a) subect to max x 2 f 2 = c 21 x 1 + c 21 + c 22 i x 2 i (3b) subect to a 1 x 1 + a 2 i x 2 i b Jk 0 a 1 (3c) x 1 {0, 1}, J 0 k (3d) x 2 i {0, 1}, i = 1, 2,..., n2 (3e) where a i is the th column of the matrix, A i. Relaxing the T P f by removing the follower s obective function creates a problem denoted as P f. It appears, after minor rearrangement, as follows: (P f ): max x 1 g = x c 12 i x 2 i (4a) subect to a 2 i x 2 i b a 1 a 1 x 1 (4b) x 1 {0, 1}, J 0 k (4c) x 2 i {0, 1}, i = 1, 2,..., n2 (4d)

6 3 BOUNDING THEOREM AND LEMMA In their paper Wen and Yang proved the following: Lemma 1 [3] Given two linear programming problems: (P ) : max n Z = c x st : n a x b x 0, = 1, 2,..., n and (P 1 ) : max n Z 1 = c x st : n a x b + θ x 0, = 1, 2,..., n where θ is a m 1 parameter vector. Then, if Z is the optimal obective value of P, Y is a 1 m vector, denoting the dual optimal solution of P, Z 1 is the optimal obective value of P 1, then Z 1 Z + Y θ. Theorem 1 Consider the following problem denoted problem B: n2 (B) : max Z B = c 12 i x 2 i st : a 2 i x 2 i b

7 x 2 i 0, x 2 i 1 i = 1, 2,..., n2 Let Z B be the optimal obective function value for problem B above. Also let Y be the optimal dual solution of problem B. Then an upper bound, Z U, is established for the leader s obective function value in problem T P f where: Z U = Z B + ( Y Ba 1 ) + max{( Y Ba 1 ), 0} (5) That is f 1 Z U. Proof: Relax problem P f by replacing the constraint x 2 i {0, 1}, i = 1, 2,..., n2 with x 2 i 1, x 2 i 0, i = 1, 2,..., n2. This relaxation produces a problem we denote as LP f. n2 (LP f ) : max g = st : c 12 i x 2 i + a 2 i x 2 i b x 1 {0, 1}, K { }} { x 1 + θ { }} { a 1 a 1 x 1 J + k J 0 k x 2 i 1, x 2 i 0 i = 1, 2,..., n2. Let g be the optimal obective function of the above LP f with optimal values {x 1 } of the variables {x 1 }. Then we obtain the following linear programming problem. n2 (LP f) : max g = c 12 i x 2 i + K st : a 2 i x 2 i b θ x 2 i 1, x 2 i 0 i = 1, 2,..., n2

8 where K is a constant determined by evaluating and θ is similarly a constant calculated from Then by applying Lemma 1 to LP f and B: x 1 + a 1 + using the values {x 1 } a 1 x 1 once again using {x 1 }. g K Z B Y Bθ g Z B + = Z B + Z B + x 1 + ( ( Y Ba 1 ) + Y B( Y Ba 1 ) + ( a 1 + Y Ba 1 )x 1 a 1 x 1 ) max{ Y Ba 1, 0} Hence g Z U. But since problem P f is less constrained than problem T P f, f 1 g and so also f 1 Z U. 4 ALGORITHM In the algorithm, N is the current level in the tree, k is the counter for evaluated nodes and T = 0 if both branches from the current node at level have not been examined 1 if one branch from the current node at level has been examined 2 if both branches from the current node at level have been examined Step 1 Initialization N = 0, k = 0 J 0 k = {1, 2,..., n1}, J + k = J k = T = 0, = 1, 2,..., n1. This indicates that all the leader s variables are free.

9 Solve problem F: (F :) max st : c 22 x 2 a 2 x 2 b x 2 {0, 1} = 1, 2,..., n2 Let the optimal solution be x 2 and let x 1 = ( n1 { }} { 0, 0, 0,..., 0 ) and let Z be the value of the leader s obective function f 1, evaluated using the values x 1 and x 2. Step 2 Solve problem B: n2 (B) : max Z B = st : a 2 x 2 b c 12 x 2 x 2 0, x 2 1 = 1, 2,..., n2 This problem results in Z B, the optimal obective function value and Y B, the optimal dual solution. Calculate H() = Y Ba 1, = 1, 2,..., n1. In order to maximize the efficiency of branching, we establish an upper bound on the path chosen in the tree. This is the function of step 3, the branching step. The value Z U N is determined by finding the largest of ZN U+, the upper bound on the obective function when setting x 1 N = 1 and Z U N, the upper bound on the obective function when setting x 1 N = 0. Step 3 Branching From Theorem 1, Z U = Z B + H() + Jk 0 max{h(), 0}. Let S = H() and let W = Jk 0 max{h(), 0} and N = N + 1 k = k + 1.

10 Calculate the upper bound of the leader s obective function Z U N for the branch down-tree for x 1 N = 0. This will be denoted as Z U N. Loop 1: Set S = W = 0 For i = 1 to n1 If x 1 i = 1 S = S + H(i) else if x 1 i = 0 W = W + max{h(i), 0} else end for loop end loop Z U N = Z B + S + W Calculate Z U+ N, the branch where x 1 N = 1. This is achieved in a very similar manner to the calculation of ZN U. Set x 1 N = 1 then execute Loop 1 and finally Z U+ N = Z B + S + W. If Z U+ N ZN U then the upper bound Z U = ZN U+, x 1 N = 1 and T N = T N + 1, otherwise Z U = Z U N, x 1 N = 0 and again T N = T N + 1 Of course, the upper bounds need to be checked against the current best solution of the obective function, Z. If the upper bound on that particular branch is not greater than the current best solution then that branch is fathomed. Step 4 Fathoming Check If Z U Z then set T N = 2, go to Step 6. else go to Step 5.

11 The next step checks if N = n1, that is if all the leader s variables have been assigned a value. Then the follower s problem, L, with the given values of the leader s variables and if feasible the solution, Z L, is compared to the current best solution. Step 5 Calculate Feasible Solutions If N n1 then go to Step 3 where else solve problem L (L:) max st: n2 c 22 x 2 + a 2 x 2 b a 2 x 2 {0, 1} = 1, 2,..., n2. Let the current values of the leader s variables be x 1L and the solution of problem L be x 2L Let Z L be the leader s obective function value evaluated using x 2L and x 1L. If Z L > Z AND problem L is feasible, then update Z, x 2 and x 1 from Z L, x 2L and x 1L respectively, go to Step 6; else go to Step 6. The algorithm now proceeds back up the tree, examining branches and their upper bounds. Each upper bound is compared to the current best solution to determine whether the branch can be fathomed or must be considered further. This is performed in the next step.

12 Step 6 Backtracking If T N = 2 then set T N = 0, x 1 N = 0, N = N 1 If N = 0 then go to Step 7. else go to Step 6; else T N = T N + 1. If x 1 N = 0 then Z U = Z U+, x 1 N = 1, go to Step 4. else Z U = Z U N, x 1 N = 0 go to Step 4. All that remains is to terminate the process at the point where all viable branches and leaves have been utilized. Step 7 Terminate Stop execution of the algorithm and output the solution. 5 COMPUTATIONAL RESULTS To evaluate the results of the algorithm it was coded into a SAS program and bi-level problems were constructed randomly using the following guidelines. The leader s obective function coefficients were chosen randomly between the limits of -30 to +30. The follower s obective function coefficients were chosen randomly between -12 and +12. The constraint matrix coefficients were chosen randomly between -18 and +18 and the b, or resource values were restricted to be within the range 0.5 to 0.75 of the sum of the a for the th constraint. This was to insure a high probability of feasibility.

13 In both table 1 and table 2 the column headers represent evaluated nodes = number of nodes where an upper bound was established as a percentage of total nodes in the tree. lpcalls = number of LP problems solved as a percentage of leaves in the tree. kstar = the node number where the optimal solution was obtained as a percentage of nodes in the tree. In Table 1, 10 randomly constructed problems were solved for each problem type. n1 n2 evaluated nodes total nodes lpcalls leaves kstar % 62 39% 32 27% % 62 62% 32 36% % 62 73% 32 34% % % % % % % % % % % % % % % % Table 1: Results of 10 samples for each n1 n2 problems The results in Table 2 are from randomly constructing 100 problems for each problem type. This set of computations was mainly performed to check the statistical validity of the results in Table 1. Several conclusions may be drawn from these computational results. In their paper Wen and Yang [3] suggested in their conclusions that there may well be a correlation between the effectiveness of their bounding function and the ratio of the number of leader s variables, n1, to the number of follower s variables, n2. The results seem to confirm this. It is apparent from the tables that when the numbers of both leader s and follower s variables are similar both the evaluated nodes percentage and the kstar percentage figures are larger. However if n1 > n2 then both these percentages, which measure the effectiveness of the bounding

14 n1 n2 evaluated nodes total nodes lpcalls leaves kstar % 62 36% 32 30% % 62 57% 32 35% % 62 64% 32 33% % % % % % % % % % % % % % % % Table 2: Results of 100 samples for each n1 n2 problems function at finding a tight upper bound for the optimal feasible solution, are significantly lower. In the case of the 10 5 problem these values drop to very low levels indicating excellent performance by both the bounding function and the algorithm in general. On the other hand it would seem that if n2 > n1 the effectiveness deteriorates giving the highest percentages. Examining the performance of the algorithm and the use of the upper bounds at each level in the tree to choose branching means examining kstar. It would appear from the low values of kstar, all lower than 35%, that the addition of controlling the decision by utilizing the ZN U was an effective measure in tightening the bounds in the solution of the problem. References [1] Bard, J. and Falk, J, The mixed interger linear bi-level programming problem, Operations Research 38, , [2] Bialas, W. and Karwan, M., Two-level linear programing, Mgmt Sci. 30, , [3] Wen, U. and Yang, Y., Algorithms for solving the mixed integer two-level programming problem, Computers Ops Res, 17, , 1990.

Solving Integer Programming with Branch-and-Bound Technique

Solving Integer Programming with Branch-and-Bound Technique This is the divide and conquer method. We divide a large problem into a few smaller ones. (This is the branch part.) The conquering part is done

Solving Method for a Class of Bilevel Linear Programming based on Genetic Algorithms

Solving Method for a Class of Bilevel Linear Programming based on Genetic Algorithms G. Wang, Z. Wan and X. Wang Abstract The paper studies and designs an genetic algorithm (GA) of the bilevel linear programming

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

24. The Branch and Bound Method

24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,

LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS. 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method

LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method Introduction to dual linear program Given a constraint matrix A, right

Discrete Optimization

Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques My T. Thai 1 Overview An overview of LP relaxation and rounding method is as follows: 1. Formulate an optimization

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

MASTER S THESIS Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach PAULINE ALDENVIK MIRJAM SCHIERSCHER Department of Mathematical

Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a Branch-and-Bound Approach

Information and Management Sciences Volume 19, Number 2, pp. 237-243, 2008 Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a Branch-and-Bound Approach P. Ji Y. F. Wan Hong

Definition of a Linear Program

Definition of a Linear Program Definition: A function f(x 1, x,..., x n ) of x 1, x,..., x n is a linear function if and only if for some set of constants c 1, c,..., c n, f(x 1, x,..., x n ) = c 1 x 1

Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

Chapter 13: Binary and Mixed-Integer Programming

Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:

Proximal mapping via network optimization

L. Vandenberghe EE236C (Spring 23-4) Proximal mapping via network optimization minimum cut and maximum flow problems parametric minimum cut problem application to proximal mapping Introduction this lecture:

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

Offline sorting buffers on Line

Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Lecture 4 Scheduling 1 Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max structure of a schedule 0 Q 1100 11 00 11 000 111 0 0 1 1 00 11 00 11 00

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

Inverse Optimization by James Orlin

Inverse Optimization by James Orlin based on research that is joint with Ravi Ahuja Jeopardy 000 -- the Math Programming Edition The category is linear objective functions The answer: When you maximize

Mathematical finance and linear programming (optimization)

Mathematical finance and linear programming (optimization) Geir Dahl September 15, 2009 1 Introduction The purpose of this short note is to explain how linear programming (LP) (=linear optimization) may

Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

Integrating Benders decomposition within Constraint Programming

Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP

Week 5 Integral Polyhedra

Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

Creating a More Efficient Course Schedule at WPI Using Linear Optimization

Project Number: ACH1211 Creating a More Efficient Course Schedule at WPI Using Linear Optimization A Major Qualifying Project Report submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

4.6 Linear Programming duality

4.6 Linear Programming duality To any minimization (maximization) LP we can associate a closely related maximization (minimization) LP. Different spaces and objective functions but in general same optimal

Linear Programming Notes V Problem Transformations

Linear Programming Notes V Problem Transformations 1 Introduction Any linear programming problem can be rewritten in either of two standard forms. In the first form, the objective is to maximize, the material

An Approximation Algorithm for Bounded Degree Deletion

An Approximation Algorithm for Bounded Degree Deletion Tomáš Ebenlendr Petr Kolman Jiří Sgall Abstract Bounded Degree Deletion is the following generalization of Vertex Cover. Given an undirected graph

Mathematics Course 111: Algebra I Part IV: Vector Spaces

Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are

Randomization Approaches for Network Revenue Management with Customer Choice Behavior

Randomization Approaches for Network Revenue Management with Customer Choice Behavior Sumit Kunnumkal Indian School of Business, Gachibowli, Hyderabad, 500032, India sumit kunnumkal@isb.edu March 9, 2011

Transportation Polytopes: a Twenty year Update

Transportation Polytopes: a Twenty year Update Jesús Antonio De Loera University of California, Davis Based on various papers joint with R. Hemmecke, E.Kim, F. Liu, U. Rothblum, F. Santos, S. Onn, R. Yoshida,

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS.

R u t c o r Research R e p o r t A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS Navid Hashemian a Béla Vizvári b RRR 3-2011, February 21, 2011 RUTCOR Rutgers

Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

A Note on the Bertsimas & Sim Algorithm for Robust Combinatorial Optimization Problems

myjournal manuscript No. (will be inserted by the editor) A Note on the Bertsimas & Sim Algorithm for Robust Combinatorial Optimization Problems Eduardo Álvarez-Miranda Ivana Ljubić Paolo Toth Received:

Airport Planning and Design. Excel Solver

Airport Planning and Design Excel Solver Dr. Antonio A. Trani Professor of Civil and Environmental Engineering Virginia Polytechnic Institute and State University Blacksburg, Virginia Spring 2012 1 of

at which branching takes place, a "middleman," if you will. See the transship model panel. ABSTRACT

Optimal Solution of Discrete Resource Allocation Problems with SAS/OR Software by LTC Doug McAllaster, US Army Logistics Management College, Fort Lee, VA ABSTRACT This paper is a tutorial on how to use

Lecture 7: Approximation via Randomized Rounding

Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines Maher Rebai University of Technology of Troyes Department of Industrial Systems 12 rue Marie Curie, 10000 Troyes France maher.rebai@utt.fr

Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

A Factor 1 2 Approximation Algorithm for Two-Stage Stochastic Matching Problems Nan Kong, Andrew J. Schaefer Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA Abstract We introduce

2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

3 Does the Simplex Algorithm Work?

Does the Simplex Algorithm Work? In this section we carefully examine the simplex algorithm introduced in the previous chapter. Our goal is to either prove that it works, or to determine those circumstances

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

Introduction Linear Programming Neil Laws TT 00 A general optimization problem is of the form: choose x to maximise f(x) subject to x S where x = (x,..., x n ) T, f : R n R is the objective function, S

3. Linear Programming and Polyhedral Combinatorics

Massachusetts Institute of Technology Handout 6 18.433: Combinatorial Optimization February 20th, 2009 Michel X. Goemans 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the

Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

MODULAR ARITHMETIC. a smallest member. It is equivalent to the Principle of Mathematical Induction.

MODULAR ARITHMETIC 1 Working With Integers The usual arithmetic operations of addition, subtraction and multiplication can be performed on integers, and the result is always another integer Division, on

9th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS) Primal-Dual Algorithms for Online Optimization: Lecture 1

9th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS) Primal-Dual Algorithms for Online Optimization: Lecture 1 Seffi Naor Computer Science Dept. Technion Haifa, Israel Introduction

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

Fairness in Routing and Load Balancing

Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria

Equilibrium computation: Part 1

Equilibrium computation: Part 1 Nicola Gatti 1 Troels Bjerre Sorensen 2 1 Politecnico di Milano, Italy 2 Duke University, USA Nicola Gatti and Troels Bjerre Sørensen ( Politecnico di Milano, Italy, Equilibrium

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

Issues in Information Systems Volume 14, Issue 2, pp.353-358, 2013

A MODEL FOR SIMULTANEOUS DECISIONS ON MASTER PRODUCTION SCHEDULING, LOT SIZING, AND CAPACITY REQUIREMENTS PLANNING Harish C. Bahl, California State University-Chico, hbahl@csuchico.edu Neelam Bahl, California

Chapter 6. Linear Programming: The Simplex Method. Introduction to the Big M Method. Section 4 Maximization and Minimization with Problem Constraints

Chapter 6 Linear Programming: The Simplex Method Introduction to the Big M Method In this section, we will present a generalized version of the simplex method that t will solve both maximization i and

Scheduling Single Machine Scheduling. Tim Nieberg

Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for non-preemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe

CHAPTER 9. Integer Programming

CHAPTER 9 Integer Programming An integer linear program (ILP) is, by definition, a linear program with the additional constraint that all variables take integer values: (9.1) max c T x s t Ax b and x integral

Integer Programming: Algorithms - 3

Week 9 Integer Programming: Algorithms - 3 OPR 992 Applied Mathematical Programming OPR 992 - Applied Mathematical Programming - p. 1/12 Dantzig-Wolfe Reformulation Example Strength of the Linear Programming

The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

A Network Flow Approach in Cloud Computing

1 A Network Flow Approach in Cloud Computing Soheil Feizi, Amy Zhang, Muriel Médard RLE at MIT Abstract In this paper, by using network flow principles, we propose algorithms to address various challenges

CS787: Advanced Algorithms Topic: Online Learning Presenters: David He, Chris Hopman 17.3.1 Follow the Perturbed Leader 17.3.1.1 Prediction Problem Recall the prediction problem that we discussed in class.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

2.3 Convex Constrained Optimization Problems

42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

IEOR 4404 Homework # Intro OR: Deterministic Models February 14, 011 Prof. Jay Sethuraman Page 1 of 5 Homework #.1 (a) What is the optimal solution of this problem? Let us consider that x 1, x and x 3

Minimize subject to. x S R

Chapter 12 Lagrangian Relaxation This chapter is mostly inspired by Chapter 16 of [1]. In the previous chapters, we have succeeded to find efficient algorithms to solve several important problems such

Notes from Week 1: Algorithms for sequential prediction

CS 683 Learning, Games, and Electronic Markets Spring 2007 Notes from Week 1: Algorithms for sequential prediction Instructor: Robert Kleinberg 22-26 Jan 2007 1 Introduction In this course we will be looking

Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

MASTER STHESIS Minimizing costs for transport buyers using integer programming and column generation Eser Esirgen DepartmentofMathematicalSciences CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG

Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

A Robust Formulation of the Uncertain Set Covering Problem

A Robust Formulation of the Uncertain Set Covering Problem Dirk Degel Pascal Lutter Chair of Management, especially Operations Research Ruhr-University Bochum Universitaetsstrasse 150, 44801 Bochum, Germany

FE670 Algorithmic Trading Strategies. Stevens Institute of Technology

FE670 Algorithmic Trading Strategies Lecture 6. Portfolio Optimization: Basic Theory and Practice Steve Yang Stevens Institute of Technology 10/03/2013 Outline 1 Mean-Variance Analysis: Overview 2 Classical

Chapter 11 Monte Carlo Simulation

Chapter 11 Monte Carlo Simulation 11.1 Introduction The basic idea of simulation is to build an experimental device, or simulator, that will act like (simulate) the system of interest in certain important

The Conference Call Search Problem in Wireless Networks

The Conference Call Search Problem in Wireless Networks Leah Epstein 1, and Asaf Levin 2 1 Department of Mathematics, University of Haifa, 31905 Haifa, Israel. lea@math.haifa.ac.il 2 Department of Statistics,

Dynamic TCP Acknowledgement: Penalizing Long Delays

Dynamic TCP Acknowledgement: Penalizing Long Delays Karousatou Christina Network Algorithms June 8, 2010 Karousatou Christina (Network Algorithms) Dynamic TCP Acknowledgement June 8, 2010 1 / 63 Layout

Revenue Management for Transportation Problems

Revenue Management for Transportation Problems Francesca Guerriero Giovanna Miglionico Filomena Olivito Department of Electronic Informatics and Systems, University of Calabria Via P. Bucci, 87036 Rende

On the effect of forwarding table size on SDN network utilization

IBM Haifa Research Lab On the effect of forwarding table size on SDN network utilization Rami Cohen IBM Haifa Research Lab Liane Lewin Eytan Yahoo Research, Haifa Seffi Naor CS Technion, Israel Danny Raz

Lecture 5: Conic Optimization: Overview

EE 227A: Conve Optimization and Applications January 31, 2012 Lecture 5: Conic Optimization: Overview Lecturer: Laurent El Ghaoui Reading assignment: Chapter 4 of BV. Sections 3.1-3.6 of WTB. 5.1 Linear

Principles of demand management Airline yield management Determining the booking limits. » A simple problem» Stochastic gradients for general problems

Demand Management Principles of demand management Airline yield management Determining the booking limits» A simple problem» Stochastic gradients for general problems Principles of demand management Issues:»

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs Stavros Athanassopoulos, Ioannis Caragiannis, and Christos Kaklamanis Research Academic Computer Technology Institute

List Scheduling in Order of α-points on a Single Machine

List Scheduling in Order of α-points on a Single Machine Martin Skutella Fachbereich Mathematik, Universität Dortmund, D 4422 Dortmund, Germany martin.skutella@uni-dortmund.de http://www.mathematik.uni-dortmund.de/

Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh

Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh Peter Richtárik Week 3 Randomized Coordinate Descent With Arbitrary Sampling January 27, 2016 1 / 30 The Problem

Discuss the size of the instance for the minimum spanning tree problem.

3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

UNIT 2 MATRICES - I 2.0 INTRODUCTION. Structure

UNIT 2 MATRICES - I Matrices - I Structure 2.0 Introduction 2.1 Objectives 2.2 Matrices 2.3 Operation on Matrices 2.4 Invertible Matrices 2.5 Systems of Linear Equations 2.6 Answers to Check Your Progress

Continued Fractions and the Euclidean Algorithm

Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction

Solutions to Homework 6

Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example

Section IV.1: Recursive Algorithms and Recursion Trees

Section IV.1: Recursive Algorithms and Recursion Trees Definition IV.1.1: A recursive algorithm is an algorithm that solves a problem by (1) reducing it to an instance of the same problem with smaller

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

in The Vehicle Routing Problem: Latest Advances and New Challenges Modeling and Solving the Capacitated Vehicle Routing Problem on Trees Bala Chandran 1 and S. Raghavan 2 1 Department of Industrial Engineering

Logic Cuts Generation in a Branch and Cut Framework for Location Problems Mara A. Osorio Lama School of Computer Science Autonomous University of Puebla, Puebla 72560 Mexico Rosalba Mujica Garca Abstract

Lecture 4: BK inequality 27th August and 6th September, 2007

CSL866: Percolation and Random Graphs IIT Delhi Amitabha Bagchi Scribe: Arindam Pal Lecture 4: BK inequality 27th August and 6th September, 2007 4. Preliminaries The FKG inequality allows us to lower bound

Locating and sizing bank-branches by opening, closing or maintaining facilities

Locating and sizing bank-branches by opening, closing or maintaining facilities Marta S. Rodrigues Monteiro 1,2 and Dalila B. M. M. Fontes 2 1 DMCT - Universidade do Minho Campus de Azurém, 4800 Guimarães,

Data Structures Fibonacci Heaps, Amortized Analysis

Chapter 4 Data Structures Fibonacci Heaps, Amortized Analysis Algorithm Theory WS 2012/13 Fabian Kuhn Fibonacci Heaps Lacy merge variant of binomial heaps: Do not merge trees as long as possible Structure:

Mathematics of Cryptography

CHAPTER 2 Mathematics of Cryptography Part I: Modular Arithmetic, Congruence, and Matrices Objectives This chapter is intended to prepare the reader for the next few chapters in cryptography. The chapter

Minimizing the Number of Machines in a Unit-Time Scheduling Problem

Minimizing the Number of Machines in a Unit-Time Scheduling Problem Svetlana A. Kravchenko 1 United Institute of Informatics Problems, Surganova St. 6, 220012 Minsk, Belarus kravch@newman.bas-net.by Frank

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like

In this paper we present a branch-and-cut algorithm for

SOLVING A TRUCK DISPATCHING SCHEDULING PROBLEM USING BRANCH-AND-CUT ROBERT E. BIXBY Rice University, Houston, Texas EVA K. LEE Georgia Institute of Technology, Atlanta, Georgia (Received September 1994;

Answers to some of the exercises.

Answers to some of the exercises. Chapter 2. Ex.2.1 (a) There are several ways to do this. Here is one possibility. The idea is to apply the k-center algorithm first to D and then for each center in D

ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.

A factor 1 European Journal of Operational Research xxx (00) xxx xxx Discrete Optimization approximation algorithm for two-stage stochastic matching problems Nan Kong, Andrew J. Schaefer * Department of

Option Pricing for a General Stock Model in Discrete Time

University of Wisconsin Milwaukee UWM Digital Commons Theses and Dissertations August 2014 Option Pricing for a General Stock Model in Discrete Time Cindy Lynn Nichols University of Wisconsin-Milwaukee

A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem

[J. Res. Natl. Inst. Stand. Technol. 111, 161-185 (2006)] A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem Volume 111 Number 2 March-April 2006 Christine Villa and Karla