Air Traffic Management (Gestão de Tráfego Aéreo) MEAer Optimization and ATM (updated 6-Dec-2020) (C) 2010-2020 Rodrigo Ventura, IST Air traffic in Europe GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Air traffic in Europe GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Air Traffic Flow Management (ATFM) • Objectives: • to match capacity with demand in air transportation assure safety and efficiency avoid congestion and delays Instruments: - ground holding controls rerouting controls airborne holding controls GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Ground Holding Problem (GHP) • • • Problem statement: to assign ground delays to aircraft given airport capacity Objective: minimize sum of ground and airborne delays (weighted costs) Inputs: • scheduled departure and arrival times departure, arrival, and enroute capacities Output: • set of flights amount of delay to impose to each flight Approach: formulate problem as an optimization problem GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Optimization • Optimization is widely used methodology in many decision problems • Examples: - aircraft performance to maximize fuel efficiency - airliners crew and aircraft scheduling to minimize cost - manage financial assets portfolio to maximize profit - maximize processes efficiency in manufacturing industry - minimize air traffic delays in overloaded arrival airports - minimize error while fitting a model to data - minimize classification error in pattern recognition GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Optimization • Bibliography: (free) GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Optimization problem • Variables or unknowns: parameters whose values are being sought • Objective: scalar function of the variables to be maximized or minimized • examples: cruise FL, departure time, estimator parameters, etc. examples: efficiency, cost, profit, total delay, estimation error, etc. max/min reducible to one another ( min{cost} ≡ max{-cost} ) Constraints: restrictions on the values of the variables - examples: operational ceiling of aircraft, total budget to invest, etc. GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Mathematical formulation • Notation: • x is the vector of variables f is the objective function, mapping x to a real number f(x) c is a vector of constraints c(x) that x has to satisfy General optimization problem: minn f (x) x2R subject to ( ci (x) = 0, ci (x) 0 where E are the equality constraints, and I are the inequality constraints. GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST i 2 E, i 2 I. Mathematical formulation • Example (unconstrained): min (x1 ,x2 )2R (x 1 2 2 2) + (x2 1) 2 where f(x) = (x1-2)2 + (x2-1)2 x = [x1, x2]T I = {} E = {} x2 x1 GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Mathematical formulation • min Example (constrained): (x1 ,x2 )2R (x 1 2 2)2 + (x2 where f(x) = (x1-2)2 + (x2-1)2 x = [x1, x2]T c = [c1, c2]T c1(x) = x12 - x2 c2(x) = x1 + x2 - 2 I = {1, 2} E = {} 1)2 subject to ( x21 x2 0, Chapter 1. Introduction 3 x1 + x2 2. x2 c2 c1 contours of f feasible region x* x1 GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Figure 1.1 Geometrical representation of an optimization problem. Example: linear regression • • • • • Data: set of pairs of points { (xi, yi) } Model: yi = m xi + b Fitting error: ei = yi - m xi - b Cost function: J = ∑i ei2 = ∑i (yi - m xi - b)2 Optimization problem: min(m,b) J GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST Example: diet problem • • n different foods, where the i-th food costs ci per unit • • • each unit of the i-th food contains aji units of the j-th ingredient min m basic nutricional ingredients, where each individual must ingest at least bj units of the j-th ingredient for a healthy diet let xi be the number of units of the i-th food in the diet problem: minimize total cost of the diet, that is c1x1 + … + cnxn subject to minimum nutricional quantities and non-negative amounts xi x1 ,...,xn n X i=1 c i xi subject to (P xi n i=1 aji xi 0, GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST bj , j = 1, . . . , m i = 1, . . . , n Example: transportation problem • • • • • • min one product manufactured by two factories: F1 and F2 twelve retail outlets: R1, …, R12 factory Fi produces ai units per week outlet Ri sells bi units per week the cost of shipping one unit from Fi to Rj is cij problem: how much units xij to ship from factory Fi to outlet Rj in order to minimize total shipping costs? X i,j cij xij subject to 8P > <Pj xij ai , xij bj , i > : xij 0, GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST for all i, for all j, for all i and j. Continuous vs discrete • Continuous optimization: all variables are continuous • Discrete optimization: all variables are discrete • that is, xk ∈ Z or xk ∈ {0, 1} for all k also known as Integer Programming (IP) Mixed continuous and discrete variables • that is, xk ∈ R for all k also known as Mixed Integer Programming (MIP) Example: transportation problem: if units are atomic, xij ∈ Z, that is, an IP GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Constrained vs unconstrained • Unconstrained optimization: when there are no constraints • easier to solve numerically Constrained optimization: when there is at least one constraint - many constrained optimization problems can be solved using unconstrained optimization methods iteratively - duality methods allows the formulation of a dual optimization problem which can be used to help solving the original one (also known as the primal) GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Linear vs nonlinear • Linear Programming (LP): when both the objective and the constraints are linear functions of the variables • very common in management science and operations research very efficient algorithms exist to solve LP problems the effort of formulating problems as a LP typically pays off example: the transportation and the diet problems are LP variant: Integer Linear Programming (ILP), if variables are all integers variant: Mixed Integer Linear Programming (MILP), if some vars. are integers Nonlinear programming: when either the objective or a at least one of the constraints is not a linear function of the variables GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Global vs local optimization • Local optimization: when solution given is smaller (bigger) than all other feasible points in its vicinity • most optimization algorithms are local optimizers for objective functions with multiple local minima (maxima), the solution is not unique Global optimization: when solution given corresponds to the absolute best value of the objective function across all feasible space* - under certain conditions, e.g., convexity, there is a unique local solution, which is therefore also global * feasible space is the set of all possible variables values satisfying all constraints GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Optimization algorithms • Typically numeric optimization algorithms are iterative: • starts with an initial guess (cold or warm start) iteratively improves guess until a convergence criterion is met Good optimization algorithms are: - robust: with respect classes of problems and initial guess choices efficient: in terms of computational time and memory usage accurate: the solution given sufficiently close to the true optimum GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Convexity • Convex set: S ⊂ Rn such that a straight line connecting any two points in S lies entirely inside S, that is ✓x1 + (1 • ✓)x2 2 S for all 0 ✓ 1 and x1 , x2 2 S Examples: - subspaces, half-spaces, and hyperplanes euclidean balls probability distributions semi-definite positive symmetric matrices (A such that A=AT and xTAx≥0 for all x≠0) GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Convexity • Examples of operations that preserve convexity of sets - Intersection: Let S1 and S2 be two convex sets, then S1 ⋂ S2 is also convex - Affine function: An affine vector function has the form f(x) = Ax + b where A is a matrix and b a vector If S is a convex set, then the set { f(x) | x∈S } is also convex GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Convexity • Convex function: if domain is convex and if the linear interpolation between any two points in the domain is greater or equal than the function itself f (✓x + (1 ✓)y) ✓f (x) + (1 ✓)f (y) for all 0 ✓ 1 and x, y 2 dom f • Examples: - exponential, power, symmetric of logarithm norms, max function, linear functions, geometric mean, -log det of matrices GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Convexity • First-order condition: function f is convex is and only if f(y) ≥ f(x) + ∇f(x)T (y - x) for all x and y • Second-order condition: function f is convex if and only if the Hessian ∇2f(x) is positive semidefinite - a matrix A is positive semidefinite if and only if xT A x ≥ 0 for all x - a matrix A is positive semidefinite if and only if all eigenvalues are non-negative GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Convexity • Examples of operations that preserve convexity of functions: - Nonnegative weighted sum: f = w1 f1 + w2 f2 + … wm fm is convex if fi is convex and wi ≥ 0 for i=1, … m - Composition with an affine map: g(x) = f(Ax + b) is convex if f is convex - Pointwise maximum: f(x) = max{ f1(x), f2(x) } is convex if f1 and f2 are convex GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Convexity • Unconstrained optimization case: • if objective function f(x) is convex, then local optimum ≡ global optimum if f(x) is differentiable, ∇f(x)=0 is necessary and sufficient condition for optimality most iterative algorithms are guaranteed to converge to the solution Constrained optimization case: - convex programming problem: • • • - convex objective function equality constraints ci(x), i∈E, are linear inequality constraints, ci(x), i∈I, are concave, i.e., -ci(x) is convex KKT conditions (see ahead) are necessary and sufficient for optimality GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Descent methods for unconstrained problems • General descent step: x(k+1) = x(k) + t(k) Δx(k) • • Δx(k) is the descent direction 9.2 Descent methods t(k) is the descent step Exact line search: t = argmins≥0 f(x + s Δx) f (x + t∆x) Inexact line search, e.g., fixed or adaptive t - backtracking line search: start with t=1, and reduce t ← 𝛽t while f (x) + t∇f (x)T ∆x f (x) + αt∇f (x)T ∆x t t=0 t0 f (x + t x) > f (x) + ↵t[rf (x)]T x Figure 9.1 Backtracking line search. The curve shows f , restricted to the line over which we search. The lower dashed line shows the linear extrapolation of f , and the upper dashed line has a slope a factor of α smaller. The backtracking condition is that f lies below the upper dashed line, i.e., 0 ≤ t ≤ t0 . where 0<𝛼<0.5 and 0<𝛽<1 are tuning parameters • The line search is called backtracking because it starts with unit step size and then reduces it by the factor β until the stopping condition f (x + t∆x) ≤ f (x) + αt∇f (x)T ∆x holds. Since ∆x is a descent direction, we have ∇f (x)T ∆x < 0, so for small enough t we have Gradient descent: Δx = -∇f(x) with fixed or adaptive t f (x + t∆x) ≈ f (x) + t∇f (x)T ∆x < f (x) + αt∇f (x)T ∆x, GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST which shows that the backtracking line search eventually terminates. The constant α can be interpreted as the fraction of the decrease in f predicted by linear extrap- Descent methods for unconstrained problems • Newton’s method: - approximate f(x) using second order Taylor expansion: f (x + - x) ⇡ f (x) + [rf (x)] | T 1 x+ xT [r2 f (x)] x {z 2 } h( x) h(𝛥x) is convex and easy to minimize: rh( x) = 0 , rf (x) + [r2 f (x)] x = 0 - , x= [r2 f (x)] 1 rf (x) Newton’s step: Δx = -[∇2f(x)]-1 ∇f(x) with t=1 or adaptive t Quasi-Newton methods: uses approximation of [∇2f(x)]-1 Examples: BFGS and L-BFGS are popular methods (used in MATLAB’s fminunc()) GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Rosenbrock function: Example f (x, y) = (1 x)2 + 100(y with minimum at f(1,1)=0 GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST x2 ) 2 Lagrange multiplier • Consider the problem min 2 f (x, y) (x,y)2R s.t. g(x, y) = 0 <latexit sha1_base64="sWcTU/e0CZCoqAmcfIjW7tFmyTk=">AAACK3icbVDLSgMxFM34rPVVdekmWBQFKTMi6EKh6MZlFVuFppZMmqnBTGZM7kjLMP/jxl9xoQsfuPU/TKdd+DoQOJxzLzfn+LEUBlz3zRkbn5icmi7MFGfn5hcWS0vLDRMlmvE6i2SkL31quBSK10GA5Jex5jT0Jb/wb44H/sUd10ZE6hz6MW+FtKtEIBgFK7VLRxskFKqdbva2+1tEKBJSuPb99Cy72slwkMuYkOIGAd6D1FSgkmFym9AO7ubmodsuld2KmwP/Jd6IlNEItXbpiXQiloRcAZPUmKbnxtBKqQbBJM+KJDE8puyGdnnTUkVDblppnjXD61bp4CDS9inAufp9I6WhMf3Qt5ODKOa3NxD/85oJBPutVKg4Aa7Y8FCQSAwRHhSHO0JzBrJvCWVa2L9idk01ZWDrLdoSvN+R/5LGTsWz/HS3XD0Y1VFAq2gNbSIP7aEqOkE1VEcM3aNH9IJenQfn2Xl3PoajY85oZwX9gPP5BcYXpXw=</latexit> • Assuming ∇g(x, y)≠0, the extremum of f(x, y) along g(x, y)=0 has ∇f(x, y) parallel to ∇g(x, y) • • That is, ∇f(x, y) + λ ∇g(x, y) = 0 Lagrangian function: L(x, y, λ) = f(x, y) + λ g(x, y) ∇(x, y)L(x, y) = ∇f(x, y) + λ ∇g(x, y) = 0 ∇λL(x, y) = g(x, y) = 0 where λ is the Lagrange multiplier GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Optimality conditions • General constrained optimization problem minn f (x) x2R • subject to ( ci (x) = 0, ci (x) 0 i 2 E, i 2 I. Lagrangian: L(x, , ⌫) = f (x) + X i2I i ci (x) + X ⌫i ci (x) i2E where 𝜆i and 𝜈i are called dual variables or Lagrange multipliers GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST improving the value of the objective function. (ii) The fence downhill side of the hill, in which case it is both active and is pre on the hill. We need to distinguish these two cases to determine optimum. In case (i) you are not at a local optimum, but in cas Lagrange multiplier tells us whether we are in case (i) or case (ii). Optimality conditions • Lagrangian: L(x, , ⌫) = f (x) + X i2I • How does this work? First, we require that all inequality constra equal form, i.e. for i=1...m. As always, the gradie increasing direction. So if a constraint of this form is active, then is prevented: the constraint prevents gi(x) from getting any big maximize the objective function: this means we want to move in direction. Hence if you are at some point and attempting to m is active, and it's gradient is in the s i idirection, but an inequality i i gradient, then the Lagrange multiplier will be positive, and you w i2E local optimum. This concept is sketched in Fig. 20.3. c (x) + X ⌫ c (x) Karush-Kuhn-Tucker (KKT) conditions: Some grad lightly ske the value lines. As constraint by the con g(x) greate the object direction: equality w multiplier ci (x) 0, i 2 I ci (x) = 0, i 2 E i 0, i 2 I i ci (x) = 0, i 2 I rx L(x, , ⌫) = 0 • • max f(x) s.t. g(x)≤30 Figure 20.3: Lagrange multiplier nonnegativity condition. KKT conditions are necessary for optimality under some regularity conditions Practical Optimization: a Gentle Introduction http://www.sce.carleton.ca/faculty/chinneck/po.html KKT conditions are necessary and sufficient for optimality for convex problems GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST If the grad the oppos Fig. 20.3, would be John W. Ch Example • Consider the problem: min xT x x s.t. Ax = b • • T T L(x, ⌫) = x x + ⌫ (Ax Lagrangian: b) Using the KKT conditions: rx L(x, ⌫) = 0 , 2x + AT ⌫ = 0 1 T , x= A ⌫ 2 1 Ax b = 0 , AAT ⌫ = b 2 , ⌫ = 2(AAT ) 1 b • Solution: x = AT (AAT ) 1 b GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST Duality • Lagrange dual function: g( , ⌫) = inf L(x, , ⌫) x this is a convex function, even if f(x) is not • Lagrange dual problem: max g( , ⌫) ,⌫ s.t. 0 this is a convex optimization problem, even if the original problem is not • Duality gap: difference between the minimum of the original problem and the maximum of the dual problem (can be proven to be always positive) • • Strong duality is a condition that implies zero duality gap Under strong duality, the solution of the dual problem can be used to obtain the solution to the original problem GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST Example (revisited) • Consider the problem: min xT x x s.t. Ax = b • • T T L(x, ⌫) = x x + ⌫ (Ax Lagrangian: b) Lagrange dual function: g(⌫) = min L(x, ⌫) x = 1 T ⌫ AAT ⌫ 4 ⌫T b since rx L(x, ⌫) = 0 ) x = • Lagrange dual problem: max g(⌫) ⌫ • 1 T A ⌫ 2 solution (dual optimum): r⌫ g(⌫) = 0 ) ⌫ = 2(AAT ) 1 b Solution (primal optimum, due to strong duality): x = AT (AAT ) 1 b GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST Descent methods for constrained problems • Consider the problem: min f (x) x s.t. Ax = b • Approximating f(x) using a second-order Taylor expansion: min f (x + x) ⇡ f (x) + [rf (x)] s.t. A(x + x) = b x • 1 x+ xT [r2 f (x)] x 2 Lagrangian: L( x, ⌫) = f (x) + [rf (x)] • T T 1 x+ xT [r2 f (x)] x + ⌫ T [A(x + 2 Applying the KKT conditions 2 r f (x) A T A 0 ✓ x ⌫ ◆ = ✓ rf (x) 0 ◆ we obtain the Newton step 𝛥x while maintaining feasibility GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST x) b] Sequential Quadratic Programming (SQP) • • Considering only equality constraints: Quadratic Program (QP): <latexit sha1_base64="NYd6kbA9zrT2ANMX4g+gcWeuzb4=">AAACjXicbZHfTtswFMadsA0W2ChwuRtrFYhdUCUIxB/BBOKCXTKJAlKdVY5z0lo4TmSfIKqob8MT7Y63wSlF2kqPZOnT9/knH5+TlEpaDMNnz1/48PHT4tLnYHnly9fV1tr6jS0qI6ArClWYu4RbUFJDFyUquCsN8DxRcJvcXzT57QMYKwt9jaMS4pwPtMyk4OisfuuJKciwxxIYSF3nHI18HAeXdIvunP+5powF506HAQOdvsXMyMEQ42CCbs+gj46hTLkOUj6H+hGczud20gZM5iL9VjvshJOi70U0FW0yrat+6y9LC1HloFEobm0vCkuMa25QCgXjgFUWSi7u+QB6Tmqeg43ryTTHdNM5Kc0K445GOnH/JWqeWzvKE3fT9Tm0s1ljzst6FWaHcS11WSFo8fpQVimKBW1WQ1NpQKAaOcGFka5XKobccIFugc0Qotkvvxc3u51ovxP+3mufnUzHsUS+ke9km0TkgJyRX+SKdInwAi/0jrxjf9Xf90/8n69XfW/KbJD/yr98AQ7FxGA=</latexit> G A Closed form solution: • A 0 ✓ ◆ x T = ✓ d b ◆ 1 T min x Gx + dT x x 2 s.t. Ax = b <latexit sha1_base64="HzBC2ZznyteBEIV7ssT+Ww1FLyo=">AAACJHicbZBNSyNBEIZ7XD/jV1yPXgqDIgjDTFAUd4WIh/UYwaiQiaGn02Mae3qG7hqZMMyP8eJf2cse/GAPXvwtdmIOru4LDQ9vVVFdb5hKYdDzXpyJb5NT0zOzc5X5hcWl5erK93OTZJrxFktkoi9DargUirdQoOSXqeY0DiW/CG+Oh/WLW66NSNQZDlLeiem1EpFgFK3Vrf7YDGKhunlwAEGkKSv8sqiXkF+dwS/IYRt6lnIIgspmgDzHwrjoQglH+WHYrdY81xsJvoI/hhoZq9mtPgW9hGUxV8gkNabteyl2CqpRMMnLSpAZnlJ2Q69526KiMTedYnRkCRvW6UGUaPsUwsj9OFHQ2JhBHNrOmGLffK4Nzf/V2hlG+51CqDRDrtj7oiiTgAkME4Oe0JyhHFigTAv7V2B9arNCm2vFhuB/PvkrnNddf9f1TndqjZ/jOGbJGlknW8Qne6RBTkiTtAgjd+Q3eSCPzr3zx3l2/r63TjjjmVXyj5zXNxDVofM=</latexit> SQP is an iterative algorithm where: <latexit sha1_base64="MUcGKzZ0TNqlODPIfwY3nE+v+2s=">AAACeHicbVFNS8MwGE7r9/yaevQSHOKGMNqh6FHwoMcJToW1G2n6VsPSpCapdJT+UC/e/QuezD4OTn0h8PB85A1PoowzbTzv3XGXlldW19Y3aptb2zu79b39By1zRaFHJZfqKSIaOBPQM8xweMoUkDTi8BiNrif64xsozaS4N+MMwpQ8C5YwSoylhvUiaRYtHGiWwiu2eFA2R62qhU9xP8hFDCpShEIZCBJx8sNQDeNwcI8LawwSayn9quxUuLDcP8FBZyF6E+JiWG94bW86+C/w56CB5tMd1j+DWNI8BWEoJ1r3fS8zYUmUYZRDVQtyDRmhI/IMfQsFSUGH5bShCh9bJsaJVPYIg6fsz0RJUq3HaWSdKTEv+rc2If/T+rlJLsOSiSw3IOhsUZJzbCSe1I1jpoAaPraAUMXsWzF9IbYaYz9lYcvkbiMl11XNduP/buIveOi0/fO2d3fWuLqct7SODtERaiIfXaArdIu6qIco+nCWnW1nx/lysXvitmZW15lnDtDCuJ1vZp29jQ==</latexit> 1. approximate cost function and equality constraints: f (x) ' f (x 2. solve the resulting QP to get x(k+1) 3. go to (1) until convergence (k) ) + [rf (x | {z d <latexit sha1_base64="1BD0J+HtRGvnopalAYZPXguLRDE=">AAACdnicbVFdixMxFM2MX2t3das+ChIsxRaxzIjiPq744uMKdnehqUMmvdOGZjJjcmdpCfmhgn/Af+Cjme6AdtcLgZNzcu9JTvJaSYtJ8iOK79y9d//BwcPe4dGjx8f9J0/PbdUYAVNRqcpc5tyCkhqmKFHBZW2Al7mCi3z9qdUvrsBYWemvuK1hXvKlloUUHAOV9a/EaDOmzMoSvlPW6AWY3HABLvDf3Gg99mOfuTe5p6/3ZKagwAllRdg5VnODkisq/F+88czI5QqZCf6YuW6c99lHusn6g2SS7IreBmkHBqSrs6z/iy0q0ZSgUShu7SxNapy71kso8D3WWKi5WPMlzALUvAQ7d7t8PB0GZkGLyoSlke7YfzscL63dluGRw5Ljyt7UWvJ/2qzB4mTupK4bBC2ujYpGUaxoGzZdSAMC1TYALowMd6VixUNkGL5kz6WdjVWlrO+FbNKbSdwG528n6ftJ8uXd4PSkS+mAPCcvyYik5AM5JZ/JGZkSQX5GcXQYHUW/4xfxMH51fTSOup5nZK/i5A9h58CE</latexit> 1 T 2 )] x + x [r f (x(k) )]x } | {z } 2 (k) T G @c c(x) ' c(x ) + x | {z } @x x(k) | {z } b GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST (k) A Descent methods for constrained problems • Exterior point methods: • replace constraints with a penalty P(x) to the cost for constraint violation iterate unconstrained “minimize f(x) + μ P(x)” while bringing μ→∞ Interior point methods: - replace constraints with a barrier B(x) on the feasible set frontier iterate unconstrained “minimize f(x) + B(x)/μ” while bringing μ→∞ GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Exterior point method • Original constrained optimization problem: minn f (x) x2R • subject to ci (x) = 0, ci (x) 0 i 2 E, i 2 I. Replace constraints by quadratic penalty terms: ! ci (x) = 0 ci (x) 0 • ( ! Pi (x) = c2i (x) Pi (x) = [max {0, ci (x)}] 2 This results in the following unconstrained problem, that has to be iteratively optimized for μ→∞ minn f (x) + µ x2R X Pi (x) i GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST Interior point method • Original constrained optimization problem: minn f (x) x2R • subject to ( ci (x) = 0, ci (x) 0 Replace inequality constraints by logarithmic barrier terms: Bi (x) = log ( ci (x)) , and equality ones by quadratic penalty terms: Pi (x) = c2i (x), • i 2 E, i 2 I. i2I i2E This results in the following constrained problem, that has to be iteratively optimized for μ→∞ X 1X minn f (x) + Bi (x) + µ Pi (x) x2R µ i2I GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST i2E Interior point method • • Problem: how to obtain an initial feasible candidate, such that ci(x)≤0 ? Solution: phase I method: - preliminary stage to find an initial feasible candidate, by solving the problem: min n s s2R,x2R s.t. ci (x) s, ci (x) = 0, - i2I i2E any x ∈ Rn and s = maxi ci(x) is a feasible start for this problem. GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST Interior point method • Compare stationary point of interior point cost function " # X 1X r f (x) log( ci (x)) + µ c2i (x) µ i2I i2E X X 1 =rf (x) + rci (x) + 2ci (x)µrci (x) = 0 µci (x) i2I i2E with KKT condition rx L(x, , ⌫) = rf (x) + • Note that: ci (x) < 0, X i2I i > 0, i rci (x) + and X i2E ⌫i rci (x) = 0 1 ! 0, i ci (x) = µ ⌫i ci (x) = ! 0, 2µ that is, all remaining four KKT conditions are satisfied at the limit GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST i2I i2E Linear programming • 362 Chapter 13. The Simplex Method Linear Programming (LP) is a convex constrained optimization problem: minn cT x x2R c s.t. A x = b x • • 0 feasible polytope optimal point x* Notes: - matrix A is m by n where m<n maximizing cT x is the same as minimizing -cT x aT x ≤ b Figure 13.1 A linear program in two dimensions with solution at x . aT x + s = b and s ≥ 0 (i.e., s is a slack variable) ∗ +-x14) - has + x- for unconstrained variables can be eliminated by setting x=x with ≥some 0 linear programming proble methods (see Chapter proved toxbe ,faster but the continued importance of the simplex method is assured for the foreseeable futu There are extremely efficient methods to solve LPs, e.g., Simplex LINEAR PROGRAMMING typical complexity: O(n2m) for m≥n (n variables, m constraints) GTA 2012/2013 — course slides — Linear programs have a linear objective function and linear constraints, which include both equalities and inequalities. The feasible set is a polytope, that is, a con connected (C) 2010-2013 Rodrigo Ventura, ISTset with flat, polygonal faces. The contours of the objective function are pla Figure 13.1 depicts a linear program in two-dimensional space. Contours of the objec Linear programming • • Lagrangian: Lagrange dual function: g(⌫, ) = min L(x, ⌫, ) x n o T = min c + AT ⌫ x ⌫T b x ( bT ⌫, AT ⌫ +c=0 = 1, otherwise. • Lagrange dual problem: which is a LP itself max L(x, ⌫, ) = cT x + ⌫ T (Ax ,⌫ bT ⌫ b) T s.t. AT ⌫ = 0 • x Strong duality holds if a feasible solution exists GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST c Simplex method • • A x = b is underdetermined, since A(m x n) and m < n • • • Let xB contain the components from x corresponding to the columns in B • Fundamental theorem of linear programming: Let the columns of A be split into [ B | C ] where B contain m linearly independent column of A and C the n-m remaining ones Then, B xB = b, since B spawns Rm A vector x formed from xB with all other components set to zero is called a basic feasible solution - if there is a feasible solution, then it is a basic feasible solution if there is an optimal feasible solution, then it is an optimal basic feasible solution GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST Simplex method • 3.3. T hover e S i m basic p l e x Mfeasible e t h o d 375 The Simplex method is an algorithm that1 iterates solutions until an optimal one is found c 0 1 simplex path 2 3 • • Guaranteed convergence in a finite amount of steps under mild conditions Figure 13.3 Simplex iterates for a two-dimensional problem. Typical computational complexity: O(n2m) for n variables, and m constraints so by substituting in (13.23) we obtain GTA 2016/2017 — course slidescT x— + (C) ! cT x2010-2016 − (c − s Rodrigo )x + + c Ventura, x + ! cT xIST − s x +. B B q q q q q B B q q Mixed integer programming • A Mixed Integer Program (MIP) is a LP where some of the variables are constrained to be integer — however, it becomes a NP-hard problem • • A LP with binary variables is a special case of MIP State-of-the-art MIP solvers are based on a combination of: - LP relaxation, that is, consider integer variables as real ones combinatorial optimization and cutting plane methods, e.g., branch-and-cut GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Ground Holding Problem (GHP) • • • Problem statement: to assign ground delays to aircraft given airport capacity Objective: minimize sum of ground and airborne delays (weighted costs) Inputs: • scheduled departure and arrival times departure, arrival, and enroute capacities Output: • set of flights amount of delay to impose to each flight Approach: formulate problem as an optimization problem GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Single Airport GHP (SAGHP) • Simplification of GHP taking into account the following assumptions: • single arrival airport no capacity limitations other than this airport Model: - time horizon divided in a discrete set of periods (e.g., 15min each): t ∈ 1, …,T - maximum arrival capacity of Mt flights during time period t set of flights F, where each f ∈ F is scheduled to arrive at time af ∈ {1, …,T} GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Single Airport GHP (SAGHP) • Decision variables: • Xft ∈ {0, 1} (binary) where Xft = 1, if flight f is assigned to arrive at time t Xft = 0, otherwise Constraints: - each flight is assigned to one and only one time period: T X Xf t = 1 t=af - 8f 2 F airport capacity restriction at each time period X f 2F : t af X f t Mt 8 t 2 {1, . . . , T } GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Single Airport GHP (SAGHP) flights time X11=1 X12=0 X13=0 X14=0 =1 X21=0 X22=0 X23=1 X24=0 =1 ≤ M1 ≤ M2 ≤ M3 ≤ M4 GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Single Airport GHP (SAGHP) • Quantifying delay: - ground delay of flight f: T X (t af ) Xf t t=af - nonlinear ground delay cost of flight f: T X g(t a f ) Xf t t=af example: quadratic cost: g(d)=d2 - total cost (of objective) function: X f 2F Cf T X t=af where Cf is a per-flight cost weight (of flight f) GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST g(t af ) Xf t Single Airport GHP (SAGHP) • Optimization problem: minimize subject to X Cf T X g(t f 2F t=af T X Xf t = 1 t=af X f 2F : t af X f t Mt Xf t 2 {0, 1} • af ) Xf t 8f 2 F 8 t 2 {1, . . . , T } 8 f 2 F, t 2 {1, . . . , T } Since both objective function and constraints are linear on variables Xft, this is an IP GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Multi Airport GHP (MAGHP) • Extension of SAGHP with: • multiple departure and arrival airports capacity limitations on both departure and arrival rate couplings between flights Model: - time horizon divided in a discrete set of periods: t ∈ 1, …,T - set of flights F, where each f ∈ F is scheduled to depart at time df ∈ {1, …,T} and arrive at time rf ∈ {1, …,T} maximum departure and arrival capacities of Dt and Rt flights, respectively, during time period t GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Multi Airport GHP (MAGHP) • • Decision variables: - Utf ∈ {0, 1} and Vtf ∈ {0, 1} (binary) - and where Utf = 1, if flight f is assigned to depart at time t Utf = 0, otherwise Vtf = 1, if flight f is assigned to arrive at time t Vtf = 0, otherwise Other parameters: - slack time Sf after flight f before next flight (couplings) costs of cGf and cAf per unit of delay time for ground in air holding respectively GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Multi Airport GHP (MAGHP) • Optimization problem: minimize where GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST Multi Airport GHP (MAGHP) • Optimization problem: subject to where GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST Optimization solvers • Optimization problem may be specified in a text file, including - objective function constraints variable domains (continuous, integer, or binary) Solver problem specification GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST optimal solution CPLEX LP format • CPLEX is a well-known LP solver, first released by ILOG in 1988, nowadays supported by IBM • CPLEX file format, supported by many LP/MIP solvers: - objective function section example: minimize 2 x1 + 3 x2 - constraints section example: subject to - 4 x1 + x2 <= 0 - bounds section example: bounds x1 >= 0 - variable domain section example: binary x2 - close specification with “end” GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST GLPK solver • • • GNU Linear Programming Kit — open source LP and MIP solver • • Accepts several file formats, including CPLEX Website: http://www.gnu.org/software/glpk/ Can be used in various ways: standalone, as a library, from MATLAB (using glpkmex), from Python, etc. Example of standalone usage from the command line: glpsol --lp -o simple.out simple.cplex GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST SCIP solver • • • • • Solving Constraint Integer Programs (SCIP) — open source MIP solver Handles both linear and non-linear problems Website: http://scip.zib.de/ Accepts several file formats, including CPLEX and their own ZIMPL format Example in ZIMPL code: var x1; var x2 binary; minimize cost: 2*x1 + 3*x2; subto constraint: -4*x1 + x2 <= 0; subto bounds: x1 >= 0; GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST linprog MATLAB Solve linear programming problems Linear programming solver • • Linear program: Finds the minimum of a problem specified by , , , Syntax: , , and are vectors, and and are matrices. Syntax x = linprog(f,A,b) x = linprog(f,A,b,Aeq,beq) = linprog(f,A,b) x = xlinprog(f,A,b,Aeq,beq,lb,ub) x = xlinprog(f,A,b,Aeq,beq,lb,ub,options) = linprog(f,A,b,Aeq,beq) x = linprog(problem) x = linprog(f,A,b,Aeq,beq,lb,ub) [x,fval] = linprog(___) x = linprog(f,A,b,Aeq,beq,lb,ub,options) [x,fval,exitflag,output] = linprog(___) x = linprog(problem) [x,fval,exitflag,output,lambda] = linprog(___) [x,fval] = linprog( ___ ) [x,fval,exitflag,output] = linprog( ___ ) GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST [x,fval,exitflag,output,lambda] = linprog( ___ ) Python + SciPy • Linear program: min cT x x s.t. Aub x bub Aeq x = beq x • • 0 (by default) SciPy package: scipy.optimize.linprog Syntax: linprog(c, A_ub=None, b_ub=None, A_eq=None, b_eq=None, bounds=None, method='simplex', callback=None, options=None) GTA 2016/2017 — course slides — (C) 2010-2016 Rodrigo Ventura, IST Encoding a SAGHP in CPLEX • Example 1: 2 flights, 4 time periods, Mt=1, a1=1, a2=3, Cf=1, g(d)=d2 minimize x12 + 4 x13 + 9 x14 + x24 subject to x11 + x12 + x13 + x14 = 1 x23 + x24 = 1 x11 <= 1 x12 <= 1 x13 + x23 <= 1 x14 + x24 <= 1 binary x11 x12 x13 x14 x23 x24 end GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Encoding a SAGHP in CPLEX • Example 2: 2 flights, 4 time periods, Mt=1, a1=1, a2=1, Cf=1, g(d)=d2 minimize x12 + 4 x13 + 9 x14 + x22 + 4 x23 + 9 x24 subject to x11 + x12 + x13 + x14 = 1 x21 + x22 + x23 + x24 = 1 x11 + x21 <= 1 x12 + x22 <= 1 x13 + x23 <= 1 x14 + x24 <= 1 binary x11 x12 x13 x14 x21 x22 x23 x24 end GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Encoding a SAGHP in CPLEX • Example 3: 4 flights, 4 time periods, Mt=1, a1=1, a2=1, a3=1, a4=3, Cf=1, g(d)=d2 minimize x12 + 4 x13 + 9 x14 + x22 + 4 x23 + 9 x24 + x32 + 4 x33 + 9 x34 + x44 subject to x11 + x12 + x13 + x14 = 1 x21 + x22 + x23 + x24 = 1 x31 + x32 + x33 + x34 = 1 x43 + x44 = 1 x11 + x21 + x31 <= 1 x12 + x22 + x32 <= 1 x13 + x23 + x33 + x43 <= 1 x14 + x24 + x34 + x44 <= 1 binary […] end GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Encoding a SAGHP in CPLEX • Example 4: 5 flights, 4 time periods, Mt=1, a1=1, a2=1, a3=1, a4=3, a5=2, Cf=1, g(d)=d2 minimize x12 + 4 x13 + 9 x14 + x22 + 4 x23 + 9 x24 + x32 + 4 x33 + 9 x34 + x44 + x53 + 4 x54 subject to x11 + x12 + x13 + x14 = 1 x21 + x22 + x23 + x24 = 1 x31 + x32 + x33 + x34 = 1 x43 + x44 = 1 x52 + x53 + x54 = 1 x11 + x21 + x31 <= 1 x12 + x22 + x32 + x52 <= 1 x13 + x23 + x33 + x43 + x53 <= 1 x14 + x24 + x34 + x44 + x54 <= 1 binary […] end GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Encoding a random example • • • • 24h in 10 min periods → T = 144 2 runways, 2 min separation → Mt = 10 1000 flights with scheduled times uniformly distributed → af ~ Uniform(1,T) Sample problem: - 3.3MB specification file 72098 variables and 1144 constraints 0.5 seconds (Intel Core 2 Duo @ 2.2GHz) GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST LP relaxation of SAGHP • A matrix is totally unimodular if the determinant of every submatrix is either -1, 0, or 1. • If A is totally unimodular and b is an integer vector, then A x ≤ b defines a polytope with all vertices in integer coordinates • Therefore, the LP defined by minimize cT x subject to Ax≤b x≥0 has an integer solution • Given that the SAGHP results in a unimodular LP, the solution of the LP relaxation coincides with the solution with binary variables! GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST Other problems • • • • extend model to include departure, enroute, and arrival capacity restrictions • flight planning (including the trade-off between route length and air navigation charges) stochastic models to cope with uncertainty in airport capacity slot assignment to airliners banking constraints, e.g., to assure transfer in hub airports (delay banking is a system where delayed aircraft due to flow restrictions obtain credits, that can be bid against other operators to get higher priority in congestioned airports) GTA 2012/2013 — course slides — (C) 2010-2013 Rodrigo Ventura, IST The End Thank you!