Sie sind auf Seite 1von 17

70-257 Optimization for Business

Lecture 10
Linear Programming — Duality & Modeling Tricks
Announcements
• Homework 5 due Wednesday
Today’s Class
1. Duality

2. LP Modeling Tricks
Lecture 1:
Duality
Example
Show that the following LP is infeasible:
min x1 + 2x2 + x3
s.t. x1 3x2 + 4x3 2
2x1 + x2 x3 1
x1 + 2x2 + x3 1
x 1 , x 2 , x3  0 <latexit sha1_base64="ksK3cruvZ7IeTt4NjPDWi5nz0DI=">AAACynicbZFNb9QwEIadlI8SvpZy5DJiBULQjZIUqVW5VOIABw5FYttKm1XkeGdTq7YT2U67q2hv/EJuHPkneJOA2m7Hsvxq5hmPPZNXghsbRb89f+ve/QcPtx8Fj588ffZ88GLnxJS1ZjhmpSj1WU4NCq5wbLkVeFZppDIXeJpffF7HTy9RG16qH3ZZ4VTSQvE5Z9Q6Vzb4k+ZYcNVQwQv1fhWkFhe2kVytIHgL6aduwSKL4QMkiyxxxyLbgzTtURPacJMdwV7HfmzhAmGUuJRrVNJduaZG8B+K4Sa1WddRd0C7jtht4wIhClJUs39fygbDKIxag00R92JIejvOBr/SWclqicoyQY2ZxFFlpw3VljOBrkW1wYqyC1rgxElFJZpp045iBW+cZwbzUrutLLTe6xkNlcYsZe5ISe25uR1bO++KTWo7P5g2XFW1RcW6QvNagC1hPVeYcY3MiqUTlGnu3grsnGrKrJt+4JoQ3/7ypjhJwjgK4+/J8Oiwb8c2eUVek3ckJvvkiHwlx2RMmPfFk96ld+V/87W/9JsO9b0+5yW5Yf7Pv3o7zBA=</latexit>

The corresponding dual LP is:


max 2y1 y2 + y3
s.t. y1 + 2y2 + y3 1
3y1 + y2 + 2y3 2
4y1 y2 + y 3 1
<latexit sha1_base64="L2OSGYVwmSCLUoW2ph0SaSgMeIs=">AAAC1nicbZJLb9QwEMed8CrhtcCRy4gVCNE2SlKkIrhU4sKxCLZdabOKHGd2a9VxItupGkXLAYS48tm48SH4DjibrLQPJnL098xvZuKJ01JwbYLgj+PeuHnr9p29u969+w8ePho8fnKmi0oxHLFCFGqcUo2CSxwZbgSOS4U0TwWep5cf2vj5FSrNC/nF1CVOczqXfMYZNdaVDP7GyxqNwmzhxSnOuWyo4HP52m4NXpsmp9cL8F5C/L574DCqkxAOoU4i2LfvI4jjntW+8TfhFt2HaI2dI4Q2Yb3gUUd1ULSiItjE3uy0bUttQZY5sMTBKh54McpsdaRkMAz8YGmwK8JeDElvp8ngd5wVrMpRGiao1pMwKM20ocpwJtCOqNJYUnZJ5zixUtIc9bRZjnQBL6wng1mh7JIGlt71jIbmWtd5asmcmgu9HWud/4tNKjN7O224LCuDknWNZpUAU0D7jyHjCpkRtRWUKW6/FdgFVZQZexM8O4Rw+8i74izyw8APP0XDk3f9OPbIM/KcvCIhOSYn5CM5JSPCnM9O7Xxzvrtj96v7w/3Zoa7T5zwlG+b++gfGjNFM</latexit>
y1 , y2 , y3 0
Since it is unbounded (e.g. set y1 ,y2 to be zero and increase y3 ), the <latexit sha1_base64="MoA6QMb79ieHLE/VlpJuT83fxjc=">AAAB+nicbVC7TsMwFHXKq4RXCiNLRIvEVCVdQEyVWBiLRB9SG0WOc9tadZzIdkBR6KewMIAQK1/Cxt/gphmg5UhXOjrnXl/fEySMSuU430ZlY3Nre6e6a+7tHxweWbXjnoxTQaBLYhaLQYAlMMqhq6hiMEgE4Chg0A9mNwu//wBC0pjfqywBL8ITTseUYKUl36qNijdyAeHcbGS+2/CtutN0CtjrxC1JHZXo+NbXKIxJGgFXhGEph66TKC/HQlHCYG6OUgkJJjM8gaGmHEcgvbxYO7fPtRLa41jo4sou1N8TOY6kzKJAd0ZYTeWqtxD/84apGl95OeVJqoCT5aJxymwV24sc7JAKIIplmmAiqP6rTaZYYKJ0WqYOwV09eZ30Wk3Xabp3rXr7uoyjik7RGbpALrpEbXSLOqiLCHpEz+gVvRlPxovxbnwsWytGOXOC/sD4/AFQv5NU</latexit> <latexit sha1_base64="Rp927OLP3VDdV+zGhqCep9c9AJc=">AAAB+nicbVC7TsMwFHXKq4RXCiNLRIvEVCVdQEyVWBiLRB9SG0WOc9NadZzIdkBR6KewMIAQK1/Cxt/gthmg5UhXOjrnXl/fE6SMSuU430ZlY3Nre6e6a+7tHxweWbXjnkwyQaBLEpaIQYAlMMqhq6hiMEgF4Dhg0A+mN3O//wBC0oTfqzwFL8ZjTiNKsNKSb9VGizcKAeHMbOR+q+FbdafpLGCvE7ckdVSi41tfozAhWQxcEYalHLpOqrwCC0UJg5k5yiSkmEzxGIaachyD9IrF2pl9rpXQjhKhiyt7of6eKHAsZR4HujPGaiJXvbn4nzfMVHTlFZSnmQJOlouijNkqsec52CEVQBTLNcFEUP1Xm0ywwETptEwdgrt68jrptZqu03TvWvX2dRlHFZ2iM3SBXHSJ2ugWdVAXEfSIntErejOejBfj3fhYtlaMcuYE/YHx+QNSRJNV</latexit> <latexit sha1_base64="JndWcC2Kfcnz5rb7dCMfIfkFDJg=">AAAB+nicbVC7TsMwFL0prxJeKYwsFi0SU5WUAcRUiYWxSLRFaqPIcZzWqvOQ7YCq0E9hYQAhVr6Ejb/BTTNAy5GudHTOvb6+x085k8q2v43K2vrG5lZ129zZ3ds/sGqHPZlkgtAuSXgi7n0sKWcx7SqmOL1PBcWRz2nfn1zP/f4DFZIl8Z2aptSN8ChmISNYacmzasPijVzQYGY2pt55w7PqdtMugFaJU5I6lOh41tcwSEgW0VgRjqUcOHaq3BwLxQinM3OYSZpiMsEjOtA0xhGVbl6snaFTrQQoTISuWKFC/T2R40jKaeTrzgirsVz25uJ/3iBT4aWbszjNFI3JYlGYcaQSNM8BBUxQovhUE0wE039FZIwFJkqnZeoQnOWTV0mv1XTspnPbqrevyjiqcAwncAYOXEAbbqADXSDwCM/wCm/Gk/FivBsfi9aKUc4cwR8Ynz9TyZNW</latexit>

primal LP must be infeasible.


Complementary Slackness
• Recall that a constraint can be binding or not binding at the
optimal solution

• Complementary Slackness: Given the optimal solutions to a


primal and dual LP, each variable is linked to its corresponding dual
constraint (and vice versa) according to the following table:

Constraint
Binding Not Binding
Variable

Zero Allowed Allowed


Nonzero Allowed Not Allowed
Complementary Slackness
• Example: if a constraint is not binding, the corresponding dual
variable must be zero.

• Dual variables sound a lot like the shadow prices

• They are! That’s where the shadow prices come from


Example: Blue Ridge Hot Tubs
Recall Blue Ridge Hot Tub’s primal and dual LPs:
maximize 350xA + 300xH minimize 200yP + 1566yL + 2880yT
subject to xA + xH  200 subject(pumps)
to yP + 9yL + 12yT 350 (Aqu
9xA + 6xH  1566 (labor)
yP + 6yL + 16yT 300 (Hydr
12xA + 16xH  2880 <latexit sha1_base64="mk1doUo/6pMXPbtOirupU+sceQw=">AAAC/3icbZJNb9NAEIbX5quEr7SIE5cVEVGBNlobNQRORVx66CGIpq0UR9F6PXGXrteud41qTA78FS4cQIgrf4Mb/4b1B03aMpKl1+/MY8/OrJ8IrjQhfyz7ytVr12+s3Gzdun3n7r326tq+irOUwYjFIk4PfapAcAkjzbWAwyQFGvkCDvzjN2X+4AOkisdyT+cJTCIaSj7jjGpjTVetB54PIZcFnGSV9XTeahwqeCghmLe62NNwqouISx7xj1A6XewSkk+H+Bl2tvp9nE93jXQHA2LkHu563hmmMv89MI11XIM19bImHLeq90LAz7cI/sesvzbtbL5L6JN5+aUF1m+w/gIjS9hOHqTx5m52eo7bKNvbOCPK+pYHMlgcsXpbGsG03SE9UgW+LJxGdFATw2n7txfELItAaiaoUmOHJHpS0FRzJszEvExBQtkxDWFspKQRqElR7W+OHxsnwLM4NY/UuHKXiYJGSuWRbyojqo/UxVxp/i83zvRsMCm4TDINktU/mmXCrAKXlwEHPDWbEbkRlKXc9IrZEU0p0+bKlENwLh75sth3ew7pOW/dzvarZhwr6CF6hNaRg16gbbSDhmiEmPXJ+mJ9s77bn+2v9g/7Z11qWw1zH50L+9df1GfiPw==</latexit>
(tubing)
yP , yL , yT 0
<latexit sha1_base64="XPESGVlepwQQ1dqJw5/szkeIW7A=">AAADHnicbZJNb9MwGMed8DbKWwdHLhYV1QasSjJWCqchLjsOiW6TmqpynKeZme2E2J5aon4SLnwVLhxACIkTfBucl61lw1Kkf/7P73Gc/+Mo40xpz/vjuFeuXrt+Y+1m69btO3fvtdfvH6jU5BSGNOVpfhQRBZxJGGqmORxlORARcTiMTt6U9cNTyBVL5Ts9z2AsSCLZlFGirTVZd56HESRMFvDBVNaTRatxCGeJhHjR6uJQw0wXgsyYYB+hdLp4e8fDs8lr/BRve6Xaw90wPGeVid4D1VinNV2TJRVywIHtOCM3MiMytbkom0vyZY32z1h/p99fwpxEab6E/aCm/XM8GAxW9tYmYjJZ8pZ+Vp8iAbzCyVRuSUhsAqdMzzdtBiDjZQLV20pCk3bH63nVwpeF34gOatb+pP0rjFNqBEhNOVFq5HuZHhck14xyG2hoFGSEnpAERlZKIkCNi2q8C/zYOjGeprl9pMaVu9pREKHUXESWFEQfq4u10vxfbWT0dDAumMyMBknrD00Nt0PD5V3BMcvtDPncCkJzZs+K6THJCdX2RpUh+Bd/+bI4CHq+1/PfBp3dV00ca+gheoQ2kI9eoF20h/bREFHnk/PF+eZ8dz+7X90f7s8adZ2m5wH6Z7m//wKqJe+y</latexit>
x A , xH 0 (non-negativity)
The optimal solution to the primal LP is (x⇤A , x⇤H ) = (122, 78). Use <latexit sha1_base64="L0FQe3UKJ5+K/MHxn7oJbI90TF4=">AAACAXicbVBdSwJBFJ3t0+xrq5eglyEJVER2JVCCwOjFR4P8AF2X2XFWB2c/mJkNZbGX/kovPRTRa/+it/5No+5DaQcuHM65l3vvcUJGhTSMb21tfWNzazu1k97d2z841I+OmyKIOCYNHLCAtx0kCKM+aUgqGWmHnCDPYaTljG5nfuuBcEED/15OQmJ5aOBTl2IklWTrp9mxfdPLF8Z2rZfPwWuYNUulQrmSs/WMUTTmgKvETEgGJKjb+le3H+DII77EDAnRMY1QWjHikmJGpuluJEiI8AgNSEdRH3lEWPH8gym8UEofugFX5Us4V39PxMgTYuI5qtNDciiWvZn4n9eJpFuxYuqHkSQ+XixyIwZlAGdxwD7lBEs2UQRhTtWtEA8RR1iq0NIqBHP55VXSLBVNo2jeXWaqV0kcKXAGzkEWmKAMqqAG6qABMHgEz+AVvGlP2ov2rn0sWte0ZOYE/IH2+QP+oZNV</latexit>

complementary slackness to find the optimal solution to the dual

<latexit sha1_base64="xx7/QGKEQTZkonRCypKmOGYCeOA=">AAAB8nicbVBNSwMxEJ31s9avqkcvwSKIh7JbBEUQKl48VrAfsF1LNs22odlkSbJiWfozvHhQxKu/xpv/xrTdg7Y+GHi8N8PMvDDhTBvX/XaWlldW19YLG8XNre2d3dLeflPLVBHaIJJL1Q6xppwJ2jDMcNpOFMVxyGkrHN5M/NYjVZpJcW9GCQ1i3BcsYgQbK/lP3euHU3SFvGq1Wyq7FXcKtEi8nJQhR71b+ur0JEljKgzhWGvfcxMTZFgZRjgdFzuppgkmQ9ynvqUCx1QH2fTkMTq2Sg9FUtkSBk3V3xMZjrUexaHtjLEZ6HlvIv7n+amJLoKMiSQ1VJDZoijlyEg0+R/1mKLE8JElmChmb0VkgBUmxqZUtCF48y8vkma14rkV7+6sXLvM4yjAIRzBCXhwDjW4hTo0gICEZ3iFN8c4L8678zFrXXLymQP4A+fzB8Vrj5I=</latexit>
x⇤A = 122 <latexit sha1_base64="OXFmJdtIt3w/OZ8wSBzLbwIVwfQ=">AAACCHicbZDLSsNAFIYn9VbrLerShYNFEIWSVMULCAU3LlxU6A3aGCbTaTt0MgkzEyGELt34Km5cKOLWR3Dn2zhNs9DWHwY+/nMOZ87vhYxKZVnfRm5ufmFxKb9cWFldW98wN7caMogEJnUcsEC0PCQJo5zUFVWMtEJBkO8x0vSG1+N684EISQNeU3FIHB/1Oe1RjJS2XHM3dqv3h/AIXsTubQp2GcZuTeMVPD61XLNolaxUcBbsDIogU9U1vzrdAEc+4QozJGXbtkLlJEgoihkZFTqRJCHCQ9QnbY0c+UQ6SXrICO5rpwt7gdCPK5i6vycS5EsZ+57u9JEayOna2Pyv1o5U79xJKA8jRTieLOpFDKoAjlOBXSoIVizWgLCg+q8QD5BAWOnsCjoEe/rkWWiUS7ZVsu9OipXLLI482AF74ADY4AxUwA2ogjrA4BE8g1fwZjwZL8a78TFpzRnZzDb4I+PzByyHlZA=</latexit>
yP⇤ + 9yL

+ 12yT⇤ = 350
x⇤H = 78
<latexit sha1_base64="kAKDDRe77fNFISy9HhbXurejQkk=">AAAB8XicbVBNSwMxEJ31s9avqkcvwSKIh7IrQosgFLz0WMF+YLuWbJptQ5PskmTFsvRfePGgiFf/jTf/jWm7B219MPB4b4aZeUHMmTau++2srK6tb2zmtvLbO7t7+4WDw6aOEkVog0Q8Uu0Aa8qZpA3DDKftWFEsAk5bwehm6rceqdIskndmHFNf4IFkISPYWOn+qVd7OEfXqFzpFYpuyZ0BLRMvI0XIUO8Vvrr9iCSCSkM41rrjubHxU6wMI5xO8t1E0xiTER7QjqUSC6r9dHbxBJ1apY/CSNmSBs3U3xMpFlqPRWA7BTZDvehNxf+8TmLCip8yGSeGSjJfFCYcmQhN30d9pigxfGwJJorZWxEZYoWJsSHlbQje4svLpHlR8tySd3tZrF5lceTgGE7gDDwoQxVqUIcGEJDwDK/w5mjnxXl3PuatK042cwR/4Hz+AG8wj2k=</latexit>

<latexit sha1_base64="x/hgTBQDlrY0sJE7KoN5AMdqhNk=">AAACCHicbZDLSsNAFIYn9VbrLerShYNFEIWSqFQRhIIbFy4q9AZtDJPppB06mYSZiRBCl258FTcuFHHrI7jzbZymWWj1h4GP/5zDmfN7EaNSWdaXUZibX1hcKi6XVlbX1jfMza2WDGOBSROHLBQdD0nCKCdNRRUjnUgQFHiMtL3R1aTevidC0pA3VBIRJ0ADTn2KkdKWa+4mbv3uEB7BauLeZGBXYeI2NF7CE8tyzbJVsTLBv2DnUAa56q752euHOA4IV5ghKbu2FSknRUJRzMi41IsliRAeoQHpauQoINJJs0PGcF87feiHQj+uYOb+nEhRIGUSeLozQGooZ2sT879aN1b+uZNSHsWKcDxd5McMqhBOUoF9KghWLNGAsKD6rxAPkUBY6exKOgR79uS/0Dqu2FbFvj0t1y7yOIpgB+yBA2CDM1AD16AOmgCDB/AEXsCr8Wg8G2/G+7S1YOQz2+CXjI9vJmCVjA==</latexit>
yP⇤ + 6yL

+ 16yT⇤ = 300
12x⇤A + 16x⇤H = 2712 < 2880 <latexit sha1_base64="HpWE22qz9IB1gEm8XZPj2j4APbA=">AAACCHicbZDLSgMxFIYz9VbrbdSlC4NFEIUyGcQWUai46bKCvUA7Dpk004ZmLiQZaSlduvFV3LhQxK2P4M63MW1nodUfAh//OYeT83sxZ1JZ1peRWVhcWl7JrubW1jc2t8ztnbqMEkFojUQ8Ek0PS8pZSGuKKU6bsaA48DhteP3rSb1xT4VkUXirhjF1AtwNmc8IVtpyzX1kD9yru2N4AtHZwK1ouoR2EdnwAtqlkuWaeatgTQX/AkohD1JVXfOz3YlIEtBQEY6lbCErVs4IC8UIp+NcO5E0xqSPu7SlMcQBlc5oesgYHmqnA/1I6BcqOHV/ToxwIOUw8HRngFVPztcm5n+1VqL8kjNiYZwoGpLZIj/hUEVwkgrsMEGJ4kMNmAim/wpJDwtMlM4up0NA8yf/hbpdQFYB3Zzmy+dpHFmwBw7AEUCgCMqgAqqgBgh4AE/gBbwaj8az8Wa8z1ozRjqzC37J+PgGKhmU7A==</latexit>
yT⇤ = 0
<latexit sha1_base64="w4RdzXANEtKAiTqvxmlZ7Zuk0+M=">AAAB8HicbVBNSwMxEJ2tX7V+VT16CRZBPJRdERRBKHjxWKFf0q4lm2bb0CS7JFlhWforvHhQxKs/x5v/xrTdg7Y+GHi8N8PMvCDmTBvX/XYKK6tr6xvFzdLW9s7uXnn/oKWjRBHaJBGPVCfAmnImadMww2knVhSLgNN2ML6d+u0nqjSLZMOkMfUFHkoWMoKNlR7SfuPxDN0gt1+uuFV3BrRMvJxUIEe9X/7qDSKSCCoN4VjrrufGxs+wMoxwOin1Ek1jTMZ4SLuWSiyo9rPZwRN0YpUBCiNlSxo0U39PZFhonYrAdgpsRnrRm4r/ed3EhFd+xmScGCrJfFGYcGQiNP0eDZiixPDUEkwUs7ciMsIKE2MzKtkQvMWXl0nrvOq5Ve/+olK7zuMowhEcwyl4cAk1uIM6NIGAgGd4hTdHOS/Ou/Mxby04+cwh/IHz+QP8Wo8t</latexit>

(yP⇤ , yL

, yT⇤ ) = (200, 50/3, 0)
<latexit sha1_base64="f4N4jtir0NtK7DALrxyyPxBMTkk=">AAACDXicbVDLSgMxFM3UV62vqks3wSq0pdRMVRRBKLhx4aJCX9BOh0yatqGZB0lGGIb+gBt/xY0LRdy6d+ffmD4W2nrgcg/n3EtyjxNwJhVC30ZiaXlldS25ntrY3NreSe/u1aUfCkJrxOe+aDpYUs48WlNMcdoMBMWuw2nDGd6M/cYDFZL5XlVFAbVc3PdYjxGstGSnj7KRXenkCzCy76at2snn4DXMlhAqnKOT0wLK2ekMKqIJ4CIxZyQDZqjY6a921yehSz1FOJayZaJAWTEWihFOR6l2KGmAyRD3aUtTD7tUWvHkmhE81koX9nyhy1Nwov7eiLErZeQ6etLFaiDnvbH4n9cKVe/SipkXhIp6ZPpQL+RQ+XAcDewyQYnikSaYCKb/CskAC0yUDjClQzDnT14k9VLRREXz/ixTvprFkQQH4BBkgQkuQBncggqoAQIewTN4BW/Gk/FivBsf09GEMdvZB39gfP4AgUiWsw==</latexit>
Lecture 1:
LP Modeling Tricks
Warm-up
• Is this a linear program?

maximize 2x + y 2
subject to x 3y 2 = 10
<latexit sha1_base64="Uy0seZxOayHLKrnj3ykpPTSXTKk=">AAACgnicbZFdb9MwFIadMGCUrw4uuTmi2oSGKEl3wYRAmsQNl0Oi26SmVI5zmpnZTrBPUEvUH8Lf4o5fA86HYGwcydLr57yWj1+npZKOouhnEN7Yunnr9vadwd179x88HO48OnFFZQVORaEKe5Zyh0oanJIkhWelRa5Thafpxbumf/oVrZOF+UjrEuea50YupeDk0WL4PUkxl6bGL1VL9jeDnnAlc4PZZrAHCeGKas1XUstv2JA9mKzgOaw/TSBJ/jhclX5GQUBF51nBCzhoPG/jqPN1NMkRIhgkaLK/17S7S2MshqNoHLUF10XcixHr63gx/JFkhag0GhKKOzeLo5LmNbckhfJTJ5XDkosLnuPMS8M1unndRriBXU8yWBbWL0PQ0ssnaq6dW+vUOzWnc3e118D/9WYVLQ/ntTRlRWhEd9GyUj4jaP4DMml9ZGrtBRdW+llBnHPLBflfa0KIrz75ujiZjONoHH+YjI5e93FssyfsKXvGYvaKHbH37JhNmWC/gt1gHLwMt8L9MA4POmsY9Gces38qfPMbr4a8aQ==</latexit>
x 0

• No. BUT, it can be reformulated as a linear program.

• Let z = y 2
<latexit sha1_base64="ODwqLCEj2Ad4BIlDDjYmPdtIFnE=">AAAB8HicbVBNSwMxEJ31s9avqkcvwVbwVHZ7UQSh4MVjBfsh7VqyabYNTbJLkhXWpb/CiwdFvPpzvPlvTNs9aOuDgcd7M8zMC2LOtHHdb2dldW19Y7OwVdze2d3bLx0ctnSUKEKbJOKR6gRYU84kbRpmOO3EimIRcNoOxtdTv/1IlWaRvDNpTH2Bh5KFjGBjpfvKE7pC6UOt0i+V3ao7A1omXk7KkKPRL331BhFJBJWGcKx113Nj42dYGUY4nRR7iaYxJmM8pF1LJRZU+9ns4Ak6tcoAhZGyJQ2aqb8nMiy0TkVgOwU2I73oTcX/vG5iwgs/YzJODJVkvihMODIRmn6PBkxRYnhqCSaK2VsRGWGFibEZFW0I3uLLy6RVq3pu1butleuXeRwFOIYTOAMPzqEON9CAJhAQ8Ayv8OYo58V5dz7mrStOPnMEf+B8/gDTRY8S</latexit>

maximize 2x + z
subject to x 3z = 10
<latexit sha1_base64="s+nYu2L72qP1Fv3cqDDEfecM8Mk=">AAACi3icbVHbbhMxEPUutxAohPLIy4iICnGJdtOHVi1IlRASj0UibaU4irzeydat7V1sb5VklZ/hk3jjb/BeBKVlJEtnzpnRjM8khRTWRdGvILxz9979B72H/UePt548HTzbPrF5aThOeC5zc5Ywi1JonDjhJJ4VBplKJJ4ml59q/fQKjRW5/uZWBc4Uy7RYCM6cp+aDHzTBTOgKv5cN82bT7xgmRaYx3fR3gDpcukqxpVBijTWzA+MlvIU1UPpHt2VygdyBy9uKJbyH3TV8jKO2quVohhC9A3pID+v2OutT1OnfeU12bZ/5YBiNoibgNog7MCRdHM8HP2ma81Khdlwya6dxVLhZxYwTXPr1aWmxYPySZTj1UDOFdlY1Xm7glWdSWOTGP+2gYa93VExZu1KJr1TMndubWk3+T5uWbrE/q4QuSoeat4MWpfR2QX0YSIXx7smVB4wb4XcFfs4M486frzYhvvnl2+BkPIqjUfx1PDw66OzokRfkJXlNYrJHjsgXckwmhAe9YBTsBfvhVrgbHoQf2tIw6Hqek38i/PwbMAG+Mg==</latexit>
x 0, z 0

• This is cute, but pretty limited. Let’s see some more general tricks.
Trick 1: Absolute Value in the Objective
• Applies to minimization problems with an absolute value in the
objective function

• Example: minimize |x y|
subject to 2x 3y 5
<latexit sha1_base64="EOfkrHiao94Y6HjsceO9J5Alg48=">AAACjnicbVHbbtQwEHXCrWy5BHjkxWJFhRCskkUF1BWiEi99LBLbVlqvVo4zm5raTmpP0IZ0P4cf4o2/wclGUFrGsnTmzBnN+DgtlXQYx7+C8MbNW7fvbN0dbN+7/+Bh9OjxkSsqK2AqClXYk5Q7UNLAFCUqOCktcJ0qOE7PPrX1429gnSzMF6xLmGueG7mUgqOnFtEPlkIuTQPnVce8XA96hiuZG8jWgx3KEFbYaGmklt+hZXboxYq+pvUFZeyPwFXpVxBIsdhIxq3kTU1ZDnS307Vn1eXxK8ombEJ9VflswMBkf0d22aWVFtEwHsVd0Osg6cGQ9HG4iH6yrBCVBoNCcedmSVzivOEWpVD+BaxyUHJxxnOYeWi4BjdvOjvX9LlnMrosrL8Gacde7mi4dq7WqVdqjqfuaq0l/1ebVbh8P2+kKSsEIzaDlpXyhtH2b2gmrfdP1R5wYaXflYpTbrlA/4OtCcnVJ18HR+NREo+Sz+Ph/l5vxxZ5Sp6RFyQh78g+OSCHZEpEsB0kwV4wCaPwbfgh/LiRhkHf84T8E+HBbyNiwAk=</latexit>
x 0, y  0

• What is |x<latexit sha1_base64="QVFAgpV7vD+2ACeLjUCIxpoSnOA=">AAAB7nicbVA9SwNBEJ3zM8avqKXNYiLYGO7SKFYBG8sI5gOSI+xt9pIle3vL7p54XPIjbCwUsfX32Plv3CRXaOKDgcd7M8zMCyRn2rjut7O2vrG5tV3YKe7u7R8clo6OWzpOFKFNEvNYdQKsKWeCNg0znHakojgKOG0H49uZ336kSrNYPJhUUj/CQ8FCRrCxUrsyebpMJ5V+qexW3TnQKvFyUoYcjX7pqzeISRJRYQjHWnc9Vxo/w8owwum02Es0lZiM8ZB2LRU4otrP5udO0blVBiiMlS1h0Fz9PZHhSOs0CmxnhM1IL3sz8T+vm5jw2s+YkImhgiwWhQlHJkaz39GAKUoMTy3BRDF7KyIjrDAxNqGiDcFbfnmVtGpVz61697Vy/SaPowCncAYX4MEV1OEOGtAEAmN4hld4c6Tz4rw7H4vWNSefOYE/cD5/AKiUjxQ=</latexit>


y|?

• The smallest value z that satisfies z <latexit sha1_base64="a69PqicSrLCgy2T3Nxe/1X01GwY=">AAAB6nicbVA9TwJBEJ3DL8Qv1NJmI5hYkTsajRWJjSVGARO4kL1lDzbs7V1250zwwk+wsdAYW3+Rnf/GBa5Q8CWTvLw3k5l5QSKFQdf9dgpr6xubW8Xt0s7u3v5B+fCobeJUM95isYz1Q0ANl0LxFgqU/CHRnEaB5J1gfD3zO49cGxGre5wk3I/oUIlQMIpWuqs+Vfvliltz5yCrxMtJBXI0++Wv3iBmacQVMkmN6Xpugn5GNQom+bTUSw1PKBvTIe9aqmjEjZ/NT52SM6sMSBhrWwrJXP09kdHImEkU2M6I4sgsezPxP6+bYnjpZ0IlKXLFFovCVBKMyexvMhCaM5QTSyjTwt5K2IhqytCmU7IheMsvr5J2vea5Ne+2Xmlc5XEU4QRO4Rw8uIAG3EATWsBgCM/wCm+OdF6cd+dj0Vpw8plj+APn8wed9I1Q</latexit>


<latexit

<latexit sha1_base64="6Y0PwlEsBRyIyGYqfYjQbqoNDZA=">AAAB8nicbVA9SwNBEJ2LXzF+RS1tFhPBxnCXRrEK2FhGMB9wOcLeZi9Zsrd77O6JZ8jPsLFQxNZfY+e/cZNcoYkPBh7vzTAzL0w408Z1v53C2vrG5lZxu7Szu7d/UD48amuZKkJbRHKpuiHWlDNBW4YZTruJojgOOe2E45uZ33mgSjMp7k2W0CDGQ8EiRrCxkl99Qr0hRY8XWbVfrrg1dw60SrycVCBHs1/+6g0kSWMqDOFYa99zExNMsDKMcDot9VJNE0zGeEh9SwWOqQ4m85On6MwqAxRJZUsYNFd/T0xwrHUWh7Yzxmakl72Z+J/npya6CiZMJKmhgiwWRSlHRqLZ/2jAFCWGZ5Zgopi9FZERVpgYm1LJhuAtv7xK2vWa59a8u3qlcZ3HUYQTOIVz8OASGnALTWgBAQnP8ApvjnFenHfnY9FacPKZY/gD5/MHqGGQJg==</latexit>
x y and z
<latexit sha1_base64="J8Resv6xOU8mvD/K/oF0bk8Gf+I=">AAAB9XicbVBNT8JAEN36ifiFevSyEUzwAGm5aDyRePGIiXwkUMl2mcKG7bbZ3aq14X948aAxXv0v3vw3LtCDgi+Z5OW9mczM8yLOlLbtb2tldW19YzO3ld/e2d3bLxwctlQYSwpNGvJQdjyigDMBTc00h04kgQQeh7Y3vpr67XuQioXiVicRuAEZCuYzSrSR7kpPuDcEXCk/VpKzUr9QtKv2DHiZOBkpogyNfuGrNwhpHIDQlBOluo4daTclUjPKYZLvxQoiQsdkCF1DBQlAuens6gk+NcoA+6E0JTSeqb8nUhIolQSe6QyIHqlFbyr+53Vj7V+4KRNRrEHQ+SI/5liHeBoBHjAJVPPEEEIlM7diOiKSUG2CypsQnMWXl0mrVnXsqnNTK9Yvszhy6BidoDJy0Dmqo2vUQE1EkUTP6BW9WQ/Wi/VufcxbV6xs5gj9gfX5A9+FkMI=</latexit>
(x y)

• We can reformulate the problem as

minimize z
subject to 2x 3y 5
z x y, z x+y
<latexit sha1_base64="Zc6Kca/4yiT5I6bqYd6NjpAdDsw=">AAACyXicbZHfb9MwEMed8GuUXx088nKiAiHYqqQIDbGXSUgIiZch0W1SXVWOc828OU5mO1PTqE/8h7zxxp+C40ZjdJxk6evPfU/nOyelFMZG0a8gvHX7zt17W/d7Dx4+evykv/30yBSV5jjmhSz0ScIMSqFwbIWVeFJqZHki8Tg5/9Tmjy9RG1Go77YucZqzTIm54Mw6NOv/pglmQjV4UXnyZtXrCJMiU5iueq+AWlzYJhdK5GKJLXHM9260cyyB0iuXqZIz5BZssfaNFrAL72qgGcJ779uohqXPtbZ6B4Du0/0O7Tr4Fmq4qlp4HO2sTS4h3a1HUaV/X+tv16aZ9QfRMPIBN0XciQHp4nDW/0nTglc5KsslM2YSR6WdNkxbwaUbnlYGS8bPWYYTJxXL0UwbP88KXjqSwrzQ7igLnl6vaFhuTJ0nzpkze2o2cy38X25S2fmHaSNUWVlUfN1oXkm3Zmi/FVKh3dZl7QTjWri3Aj9lmnHrPr9dQrw58k1xNBrG0TD+NhocfOzWsUWekxfkNYnJHjkgX8ghGRMefA5kUAWX4dfwIlyEy7U1DLqaZ+SfCH/8AddK1DA=</latexit>
x 0, y  0
Trick 1: Absolute Value in the Objective
• In general, replace the absolute value with a new variable, and add
two new constraints

minimize |r1 x1 + r2 x2 + r3 x3 + · · · + rn xn |
subject to
<latexit sha1_base64="CyjcbyVTn5oLaB8Cj59KK4T+OaY=">AAAClHicbZFNb9QwEIad8FWWry2VuHCxWFEhkFbJ9lCEOGxVVeKEisS2lTaryHFmt25tJ9gT1CXdX8S/4dZ/wyQbQWkZydLjd8b2zOus1MpjFF0F4Z279+4/2HjYe/T4ydNn/c3nR76onISJLHThTjLhQSsLE1So4aR0IEym4Tg732/yx9/BeVXYr7gsYWbEwqq5kgJJSvs/kwwWytbwrWqVt6tepwitFhbyVW+bJwgXWBtllVE/oFG2+aVLY35B6x136Yho1NIO0Q5RIvMCfStZkuwlT5I/N/kqOwOJHIv1XetiKkjA5n8fbnfXGkv7g2gYtcFvQ9zBgHVxmPZ/JXkhKwMWpRbeT+OoxFktHCqpaY6k8lAKeS4WMCW0woCf1a2pK/6alJzPC0fLIm/V6ydqYbxfmowqjcBTfzPXiP/LTSucv5/VypYVgpXrh+aVJjd480M8V47M0UsCIZ2iXrk8FU5IpH9sTIhvjnwbjkbDOBrGX0aD8YfOjg32kr1ib1jMdtmYfWKHbMJksBnsBuNgL3wRfgz3w4N1aRh0Z7bYPxF+/g1SvcSx</latexit>
···

minimize z
subject to ···
z r1 x 1 + r2 x 2 + r3 x 3 + · · · + rn x n
<latexit sha1_base64="7EnyFso6oW++nXluiLGT9vyANDo=">AAAC/3icdVJNb9QwEHXCV1k+uqXixMViRYVAWSXbA4hTJS4ci8S2lTarlePMpqa2E2wHdZvuoX+FSw8gxJW/wY1/wySbXfoBI1l6fvPm2TN2UkhhXRj+9vwbN2/dvrN2t3Pv/oOH692NR3s2Lw2HIc9lbg4SZkEKDUMnnISDwgBTiYT95Ohtnd//DMaKXH9wswLGimVaTAVnDqnJhvc4TiATuoJPZUO9mHdahkmRaUjnnS0aOzh2lRJaKHECNYNcc3hlUHFC43ilsmXyEbijLl/q0tzZWrB1qYhiVQbUTCJ6jOslogGiQYO2EW0jWhQ3lEZK0//6BEujYGUUrIyCpVGwNOrEoNO/LTa7CyOYdHthP2yCXgdRC3qkjd1J91ec5rxUoB2XzNpRFBZuXDHjBJc4sbi0UDB+xDIYIdRMgR1XTRdz+gyZlE5zg0s72rAXKyqmrJ2pBJWKuUN7NVeT/8qNSjd9Pa6ELkoHmi8OmpYS34bWn4GmwuBTyRkCxo3Au1J+yAzjDr9MPYToasvXwd6gH4X96P2gt/OmHccaeUKekuckIq/IDnlHdsmQcO/U++J99b75Z/65/93/sZD6XluzSS6F//MPV1HpAg==</latexit>
z r1 x 1 r2 x 2 r3 x 3 ··· rn x n
Trick 1: Absolute Value in the Objective
• This also works when there are additional terms in the objective…

minimize |x y| + 2y minimize z + 2y
subject to 2x 3y 5 subject to 2x 3y 5
<latexit sha1_base64="THEk4foIZM/xIIfKXs4wjcWgU9I=">AAACk3icbVFNb9QwEHXCV1m+UhAnLiNWVAjoKlnUFrEHVsCBC1KR2LbSerVynNnU1HFS26k2pPuH+Dnc+Dc42QhKy1iW3rx5oxk/x4UUxobhL8+/dv3GzVsbt3t37t67/yDYfHhg8lJznPBc5vooZgalUDixwko8KjSyLJZ4GJ98aOqHZ6iNyNVXWxU4y1iqxEJwZh01D37QGFOhajwtW+bFqtcxTIpUYbLqbQG1uLR1JpTIxHdsmC04X8I2VOfwEoYVUPpHZcr4G3ILNl/rho3utZOkCDutrjnLNg9fAR3REbiqdFmPokr+zm2zC3vNg344CNuAqyDqQJ90sT8PftIk52WGynLJjJlGYWFnNdNWcOmeQUuDBeMnLMWpg4plaGZ16+kKnjkmgUWu3VUWWvZiR80yY6osdsqM2WNzudaQ/6tNS7t4M6uFKkqLiq8HLUrpDIPmgyAR2vknKwcY18LtCvyYacat+8bGhOjyk6+Cg+EgCgfRl2F//LazY4M8IU/JcxKRPTImn8g+mRDuBd6u984b+4/9kf/e/7iW+l7X84j8E/7n32rcwVE=</latexit>
x 0, y  0 z x y, z x+y
<latexit sha1_base64="YdgYpx5O7UZhYlY7O2b/zOWY5wc=">AAACzXicbZJNb9NAEIbX5quErwBHLiMiEKJtZAdVIHqpxAVxoUikrZSNovV64i5dr939QHFMuPL/uHHnh7B2DJSUkSzNPu873p3ZTUopjI2iH0F45eq16ze2bvZu3b5z917//oMjUzjNccwLWeiThBmUQuHYCivxpNTI8kTicXL2ptGPP6M2olAfbVXiNGeZEnPBmfVo1v9JE8yEqvHcteT5qtcRJkWmMF31ngK1uLB1LpTIxRIb4lm7d629YwnbMKoo/eM0LvmE3IIt1t7RAnbhRQU0Q9hrfRt/gGWrNbZqB4Du0/0O7Xq4Db70d9WixdHO2uQF6Vc9iir9e+J2daGjWX8QDaM24HISd8mAdHE463+nacFdjspyyYyZxFFppzXTVnDpB0CdwZLxM5bhxKeK5WimddvPCp54ksK80P5TFlp6saJmuTFVnnhnzuyp2dQa+D9t4uz81bQWqnQWFV9vNHfSjxmaq4VUaD91WfmEcS38WYGfMs249Q+gGUK82fLl5Gg0jKNh/GE0OHjdjWOLPCKPyTMSk5fkgLwlh2RMePAuKIMqWIbvQxd+Cb+urWHQ1Twk/0T47RfkaNVO</latexit>
x 0, y  0
• …and even multiple absolute values being added (perform the
trick separately for each absolute value)

minimize |x| + |y| + |x y| minimize z1 + z2 + z3


subject to 2x 3y 5 subject to 2x 3y 5
<latexit sha1_base64="g/g/esHieaYBFdC8HMqvOnOzISs=">AAACl3icbVFdb9MwFHUyPkb5KoMXxMsVFROCrUqKpqHtgUlDaI+bRLdJdVU5zm1m5jjBdlBC2r/Ej+GNf4OTRjA2rmXr3HPP1bWPo1wKY4Pgl+ev3bp95+76vd79Bw8fPe4/2Tg1WaE5jnkmM30eMYNSKBxbYSWe5xpZGkk8iy4Pm/rZN9RGZOqzrXKcpixRYi44s46a9X/QCBOhavxatMybZa9jmBSJwnjZ2wRqsbR1KpRIxXdsmE1YlAt4C4uqPcvtakHpH6Upoi/ILdhspR2VsA3vKqAJwk6ra1bZ5sEW0H26D64qXdajqOK/s9vsyt1m/UEwDNqAmyDswIB0cTzr/6RxxosUleWSGTMJg9xOa6at4NI9hRYGc8YvWYITBxVL0Uzr1tclvHJMDPNMu60stOzVjpqlxlRp5JQpsxfmeq0h/1ebFHb+floLlRcWFV8NmhfSGQbNJ0EstPNPVg4wroW7K/ALphm37isbE8LrT74JTkfDMBiGJ6PBwV5nxzp5QV6S1yQku+SAHJFjMibce+bteYfeR/+5/8H/5B+tpL7X9Twl/4R/8hu7YcO6</latexit>
x 0, y  0 z1 x, z1 x
z2 y, z2 y
z3 x y, z3 x+y
<latexit sha1_base64="2CjlK56Xhl7ntG4lRmRvjFCLqSw=">AAADM3icdVLNb9MwFHfC1yhfHRy5WFQgxGiVpEIgdpnEBW5Dotukpqoc5zXz5jjBdlCyqP8TF/4RDkiIAwhx5X/AccJWuvGkWO/9Pp7jZ0c5Z0p73lfHvXT5ytVrG9d7N27eun2nv3l3T2WFpDChGc/kQUQUcCZgopnmcJBLIGnEYT86ftXw+x9AKpaJd7rKYZaSRLAFo0QbaL7pvAkjSJio4X1hoSfLXocQzhIB8bL3CIcaSl2nTLCUnUCDGMxuXkujwCdzH2+ZNbDrOAxPPaqIjoBqrLPWFZR4iMcVDhPAz6xurVfTqiHLpzjcDrfx33pY4ovlgaWrU3lbD6v/yMdt9+GZYdz131qxlBbzOo0huKl6IYj4bCy2WhnbvD/wRp4NfD7xu2SAutid9z+HcUaLFISmnCg19b1cz2oiNaPcTDksFOSEHpMEpiYVJAU1q+1hlvihQWK8yKT5hMYWXXXUJFWqSiOjTIk+VOtcA17ETQu9eDGrmcgLDYK2Gy0Kbm4QNw8Ix0yaC+WVSQiVzPwrpodEEqrNM2uG4K8f+XyyF4x8b+S/DQY7L7txbKD76AF6jHz0HO2g12gXTRB1PjpfnO/OD/eT+8396f5qpa7Tee6hf8L9/Qf3EPcU</latexit>
x 0, y  0
Trick 1: Absolute Value in the Objective
• This does NOT work for maximization problems

maximize |x y| maximize z
subject to 2x 3y 5 subject to 2x 3y 5
<latexit sha1_base64="c8mrePXAZ1WKFigAILlS80EG+aM=">AAACjnicbVHbbtQwEHXCrWy5BHjkxWJFhRCskkUF1BWiEi99LBLbVlqvVo4zm5raTmpP0IZ0P4cf4o2/wclGUFrGsnTmzBnN+DgtlXQYx7+C8MbNW7fvbN0dbN+7/+Bh9OjxkSsqK2AqClXYk5Q7UNLAFCUqOCktcJ0qOE7PPrX1429gnSzMF6xLmGueG7mUgqOnFtEPlkIuTQPnVce8XA96hiuZG8jWgx3KEFbYaL6SWn6HltmhFyv6mtYXlLE/AlelX0EgxWIjGbeSNzVlOdDdTteeVZfHryibsAn1VeWzAQOT/R3ZZZdWWkTDeBR3Qa+DpAdD0sfhIvrJskJUGgwKxZ2bJXGJ84ZblEL5F7DKQcnFGc9h5qHhGty86exc0+eeyeiysP4apB17uaPh2rlap16pOZ66q7WW/F9tVuHy/byRpqwQjNgMWlbKG0bbv6GZtN4/VXvAhZV+VypOueUC/Q+2JiRXn3wdHI1HSTxKPo+H+3u9HVvkKXlGXpCEvCP75IAckikRwXaQBHvBJIzCt+GH8ONGGgZ9zxPyT4QHvwEnUsAL</latexit>
x 0, y  0 z x y, z x+y
<latexit sha1_base64="Ic54OjnPdUzNr+87dwvvUTlLT6Y=">AAACyXicbZFNa9wwEIZlpx/p9mvTHnsZurSUNlnsDSEluQQKpdBLCt0ksFoWWZ51lMiyI8nBXrOn/sPeeutPqew1abrpgODVM+8wmlGUS2FsEPzy/I179x883HzUe/zk6bPn/a0XJyYrNMcxz2SmzyJmUAqFYyusxLNcI0sjiafR5acmf3qN2ohMfbdVjtOUJUrMBWfWoVn/N40wEarGq6Il75e9jjApEoXxsvcWqMXS1ikrRSoW2BDH2t61do4FUHrjMkV0gdyCzVa+UQk7sFsBTRD2Wt9aNSzaXGOrtgHoIT3s0I6DH6CCm6qyxcH2yuQS0t16FFX897Xt7dY0s/4gGAZtwF0RdmJAujie9X/SOONFispyyYyZhEFupzXTVnDphqeFwZzxS5bgxEnFUjTTup1nCW8ciWGeaXeUhZberqhZakyVRs6ZMntu1nMN/F9uUtj5x2ktVF5YVHzVaF5It2ZovhViod3WZeUE41q4twI/Z5px6z6/WUK4PvJdcTIahsEw/DYaHB1069gkr8hr8o6EZJ8ckS/kmIwJ9z570iu8a/+rf+WX/mJl9b2u5iX5J/wffwDbsNQy</latexit>
x 0, y  0

• …or if the absolute value is negated

minimize |x y| minimize z
subject to 2x 3y 5 subject to 2x 3y 5
<latexit sha1_base64="93Fu4Ljw9akDMn6BPQwKAnyuaQA=">AAACj3icbVFdb9MwFHXC1ygDOnjkxaJiQohVSRHaRBGqxAu8DYluk+qqcpzbzJvtZPYNasj6d/hBvPFvcNIIxsa1LJ177rm618dJoaTDKPoVhLdu37l7b+t+78H2w0eP+ztPjlxeWgFTkavcniTcgZIGpihRwUlhgetEwXFy/rGpH38D62RuvmJVwFzzzMilFBw9tej/YAlk0tRwUbbMq3WvY7iSmYF03dulDGGFtZZGavkdGmaX7l2u6B6tLiljfxSuTM5AIMV8oxk1kjcVZRnQt62uOas2j15TNmZj6qvKZz0GJv07s82u7LToD6Jh1Aa9CeIODEgXh4v+T5bmotRgUCju3CyOCpzX3KIUyj+BlQ4KLs55BjMPDdfg5nXr55q+8ExKl7n11yBt2asdNdfOVTrxSs3x1F2vNeT/arMSlwfzWpqiRDBiM2hZKm8YbT6HptJ6/1TlARdW+l2pOOWWC/Rf2JgQX3/yTXA0GsbRMP4yGkzedXZskWfkOXlJYrJPJuQTOSRTIoLtYBSMg/fhTrgffggnG2kYdD1PyT8Rfv4NtYvAQA==</latexit>
x 0, y  0 z x y, z x+y
<latexit sha1_base64="NsOfZdG3uM2fmj/y6QT8tQ47+W4=">AAACynicbZFNbxMxEIa9y1cJXwGOXEZEIARNtBuEQPRSiQMcOBSJtJXiKPJ6J1u3tnexvSWbVW78Qm4c+Sd4N6tSUkay9PqZdzSecVJIYV0U/QrCa9dv3Ly1c7t35+69+w/6Dx8d2rw0HCc8l7k5TphFKTROnHASjwuDTCUSj5KzD03+6ByNFbn+6qoCZ4plWiwEZ86jef83TTATusZvZUternsdYVJkGtN17zlQh0tXK6GFEitsiGdt79p4x3AFlF7YbJmcInfg8o1xvIQhvK6AZghvWt9WOazaXGOrdgHoHt3r0NDDV1DBRdWyxdHuxuQT0t96FHX697nt7dI48/4gGkVtwFURd2JAujiY93/SNOelQu24ZNZO46hws5oZJ7j009PSYsH4Gctw6qVmCu2sbudZwzNPUljkxh/toKWXK2qmrK1U4p2KuRO7nWvg/3LT0i3ezWqhi9Kh5ptGi1L6NUPzr5AK47cuKy8YN8K/FfgJM4w7//vNEuLtka+Kw/Eojkbxl/Fg/323jh3yhDwlL0hM3pJ98okckAnhwcdABefB9/BzaMIqrDfWMOhqHpN/IvzxB3cW1Gc=</latexit>
x 0, y  0
Trick 2: Minimax Objective
• Applies to minimization problems whose objective function is the
maximum of multiple linear expressions

• Example: minimize max{8 x, 3x + y, y 1}


subject to 2x 3y 5
x 0, y  0 <latexit sha1_base64="DCCZx8hDqofMc33xqqn+8gDGuxU=">AAACqXicbVFLb9QwEHbCqyyvLRy5jFhRIQqrZKuKCi6VuHDg0ErsdsV6tXKc2dTUdoLtoIRo/xu/gRv/BicbQWkZy9I33zw88zkppLAuin4F4Y2bt27f2bk7uHf/wcNHw93HM5uXhuOU5zI384RZlELj1AkncV4YZCqReJZcvG/jZ9/QWJHrT64ucKlYpsVacOY8tRr+oAlmQjf4teyYl5tBzzApMo3pZrAH1GHlGiW0UOI7toznFKtocwSvoXoF9B0cVLAPdQdrT8Z0A5T+qbVl8gW5A5dvqyeVzzmogWYIh11ee6rOj9omXRsqvTegqNO/03TepWlXw1E0jjqD6yDuwYj0drIa/qRpzkuF2nHJrF3EUeGWDTNOcOmXo6XFgvELluHCQ80U2mXTKb2B555JYZ0bf7WDjr1c0TBlba0Sn6mYO7dXYy35v9iidOujZSN0UTrUfPvQupReMGi/DVJhvH6y9oBxI/yswM+ZYdz5z21FiK+ufB3MJuM4Gsenk9Hx216OHfKUPCMvSEzekGPygZyQKeHBXvAxmAazcD88Defh521qGPQ1T8g/FvLf6FXH3A==</latexit>

• What is max{8
<latexit sha1_base64="h+lJQVCuI5ln5CNSyxKsFIYsgsc=">AAACDXicbZDLSsNAFIYn9VbrLerSzWArCGpJ6sKim4IblxXsBZpQJtNJOziThJmJNIS+gBtfxY0LRdy6d+fbOE2z0NYfBj7+cw5nzu9FjEplWd9GYWl5ZXWtuF7a2Nza3jF399oyjAUmLRyyUHQ9JAmjAWkpqhjpRoIg7jHS8e6vp/XOAxGShsGdSiLicjQMqE8xUtrqm5WKw9HYSevwDI5PoXMFz8fwBCYZJtq0nUmlb5atqpUJLoKdQxnkavbNL2cQ4piTQGGGpOzZVqTcFAlFMSOTkhNLEiF8j4akpzFAnEg3za6ZwCPtDKAfCv0CBTP390SKuJQJ93QnR2ok52tT879aL1Z+3U1pEMWKBHi2yI8ZVCGcRgMHVBCsWKIBYUH1XyEeIYGw0gGWdAj2/MmL0K5Vbatq39bKjcs8jiI4AIfgGNjgAjTADWiCFsDgETyDV/BmPBkvxrvxMWstGPnMPvgj4/MHoCSXbA==</latexit>
x, 3x + y, y 1}?

• The smallest z such that z <latexit sha1_base64="a69PqicSrLCgy2T3Nxe/1X01GwY=">AAAB6nicbVA9TwJBEJ3DL8Qv1NJmI5hYkTsajRWJjSVGARO4kL1lDzbs7V1250zwwk+wsdAYW3+Rnf/GBa5Q8CWTvLw3k5l5QSKFQdf9dgpr6xubW8Xt0s7u3v5B+fCobeJUM95isYz1Q0ANl0LxFgqU/CHRnEaB5J1gfD3zO49cGxGre5wk3I/oUIlQMIpWuqs+Vfvliltz5yCrxMtJBXI0++Wv3iBmacQVMkmN6Xpugn5GNQom+bTUSw1PKBvTIe9aqmjEjZ/NT52SM6sMSBhrWwrJXP09kdHImEkU2M6I4sgsezPxP6+bYnjpZ0IlKXLFFovCVBKMyexvMhCaM5QTSyjTwt5K2IhqytCmU7IheMsvr5J2vea5Ne+2Xmlc5XEU4QRO4Rw8uIAG3EATWsBgCM/wCm+OdF6cd+dj0Vpw8plj+APn8wed9I1Q</latexit>


<latexit

<latexit sha1_base64="TykOfCRXW9fjsCujY7FR8kTtzzo=">AAAB9HicbVDLSgNBEOz1GeMr6tHLYCJ4MezmongKePEYwTwgWcLspDcZMvtwZjawLvkOLx4U8erHePNvnCR70MSChqKqm+4uLxZcadv+ttbWNza3tgs7xd29/YPD0tFxS0WJZNhkkYhkx6MKBQ+xqbkW2Ikl0sAT2PbGtzO/PUGpeBQ+6DRGN6DDkPucUW0kt/JEekMkKbkkTqVfKttVew6ySpyclCFHo1/66g0ilgQYaiaoUl3HjrWbUak5Ezgt9hKFMWVjOsSuoSENULnZ/OgpOTfKgPiRNBVqMld/T2Q0UCoNPNMZUD1Sy95M/M/rJtq/djMexonGkC0W+YkgOiKzBMiAS2RapIZQJrm5lbARlZRpk1PRhOAsv7xKWrWqY1ed+1q5fpPHUYBTOIMLcOAK6nAHDWgCg0d4hld4sybWi/VufSxa16x85gT+wPr8Ae1dkDM=</latexit>
y 1, z <latexit sha1_base64="NBs2OcUJpFZdHqwgF4BuJ3cT0A8=">AAAB83icbVDLSgNBEOz1GeMr6tHLYCIIQtiNB8VTwIvHCOYB2SXMTnqTIbMPZmbFNeQ3vHhQxKs/482/cZLsQRMLGoqqbrq7/ERwpW3721pZXVvf2CxsFbd3dvf2SweHLRWnkmGTxSKWHZ8qFDzCpuZaYCeRSENfYNsf3Uz99gNKxePoXmcJeiEdRDzgjGojuZUn4g6QXDyeZ5VeqWxX7RnIMnFyUoYcjV7py+3HLA0x0kxQpbqOnWhvTKXmTOCk6KYKE8pGdIBdQyMaovLGs5sn5NQofRLE0lSkyUz9PTGmoVJZ6JvOkOqhWvSm4n9eN9XBlTfmUZJqjNh8UZAKomMyDYD0uUSmRWYIZZKbWwkbUkmZNjEVTQjO4svLpFWrOnbVuauV69d5HAU4hhM4AwcuoQ630IAmMEjgGV7hzUqtF+vd+pi3rlj5zBH8gfX5Axp6kGE=</latexit>
3x + y, and z
<latexit sha1_base64="uQG/FIDMbJofz96whQpGc6Qy0yA=">AAAB8nicbVA9SwNBEN3zM8avqKXNYiLYGO7SGKwCNpYRzAdcjrC32UuW7O0eu3NiPPIzbCwUsfXX2Plv3CRXaOKDgcd7M8zMCxPBDbjut7O2vrG5tV3YKe7u7R8clo6O20almrIWVULpbkgME1yyFnAQrJtoRuJQsE44vpn5nQemDVfyHiYJC2IylDzilICV/MoT7g0Zrl8+Vvqlslt158CrxMtJGeVo9ktfvYGiacwkUEGM8T03gSAjGjgVbFrspYYlhI7JkPmWShIzE2Tzk6f43CoDHCltSwKeq78nMhIbM4lD2xkTGJllbyb+5/kpRPUg4zJJgUm6WBSlAoPCs//xgGtGQUwsIVRzeyumI6IJBZtS0YbgLb+8Stq1qudWvbtauXGdx1FAp+gMXSAPXaEGukVN1EIUKfSMXtGbA86L8+58LFrXnHzmBP2B8/kDRRyP5Q==</latexit>
8 x

• We can reformulate the problem as


minimize z
subject to 2x 3y 5
z 8 x, z 3x + y, z y 1
<latexit sha1_base64="qjd78ssqxaZP/NPi+8HfSel/C90=">AAAC0XicbVJNb9QwEHXCV1m+tnDkYrGiQtCukq1QK3qpxIUTKoJtK61XK8eZTd3aTrAdlGy0CHHl33HjH/AzcLwRbFsmivTmzZuM58VJIbixUfQrCG/cvHX7zsbd3r37Dx4+6m8+PjZ5qRmMWS5yfZpQA4IrGFtuBZwWGqhMBJwkF2/b+skX0Ibn6pOtC5hKmik+54xaR836v0kCGVcNfC4983LZ6xgqeKYgXfa2MLFQ2UZyxSVfQMs4zs9utFMsMCF/VaZMzoFZbPOVblThHbxbY5IBft3qti714oWv7DtRtY3JATnomN3qVb29ltc7sZ/SPpVnok7vvi1c1iOg0n+n9tnaVrP+IBpGPvB1EHdggLo4mvV/kjRnpQRlmaDGTOKosNOGasuZcCaQ0kBB2QXNYOKgohLMtPGbLfFzx6R4nmv3Kos9u97RUGlMLROnlNSemau1lvxfbVLa+f604aooLSi2GjQvhbMbt78Xp1w790XtAGWau7NidkY1ZdZdgtaE+OrK18HxaBhHw/jDaHD4prNjAz1Fz9ALFKM9dIjeoSM0Rix4H9hgGXwNP4Z1+C38vpKGQdfzBF2K8McfQJfXmA==</latexit>
x 0, y  0
Trick 2: Minimax Objective
• In general, replace the entire max with a new variable, and add a
constraint for each term in the max

• Trick 1 is an example of Trick 2:

minimize |x y| minimize max{x y, x + y}


subject to 2x 3y 5 subject to 2x 3y 5
<latexit sha1_base64="EOfkrHiao94Y6HjsceO9J5Alg48=">AAACjnicbVHbbtQwEHXCrWy5BHjkxWJFhRCskkUF1BWiEi99LBLbVlqvVo4zm5raTmpP0IZ0P4cf4o2/wclGUFrGsnTmzBnN+DgtlXQYx7+C8MbNW7fvbN0dbN+7/+Bh9OjxkSsqK2AqClXYk5Q7UNLAFCUqOCktcJ0qOE7PPrX1429gnSzMF6xLmGueG7mUgqOnFtEPlkIuTQPnVce8XA96hiuZG8jWgx3KEFbYaGmklt+hZXboxYq+pvUFZeyPwFXpVxBIsdhIxq3kTU1ZDnS307Vn1eXxK8ombEJ9VflswMBkf0d22aWVFtEwHsVd0Osg6cGQ9HG4iH6yrBCVBoNCcedmSVzivOEWpVD+BaxyUHJxxnOYeWi4BjdvOjvX9LlnMrosrL8Gacde7mi4dq7WqVdqjqfuaq0l/1ebVbh8P2+kKSsEIzaDlpXyhtH2b2gmrfdP1R5wYaXflYpTbrlA/4OtCcnVJ18HR+NREo+Sz+Ph/l5vxxZ5Sp6RFyQh78g+OSCHZEpEsB0kwV4wCaPwbfgh/LiRhkHf84T8E+HBbyNiwAk=</latexit>
x 0, y  0 <latexit sha1_base64="LrCq7q7lSzNUZotSqW5lXCQGvMc=">AAAConicbVHbbtQwEHXCrSy3BR55wGIBIeiukkUIRF8qISTEA7SCbSutVyvHmU1NbSfYE5QQ7YfxG7zxNzjZCErLWJbOnDmjuSWFkg6j6FcQXrh46fKVrauDa9dv3Lw1vH3nwOWlFTATucrtUcIdKGlghhIVHBUWuE4UHCYnb9r44TewTubmM9YFLDTPjFxJwdFTy+EPlkAmTQNfy455uh70DFcyM5CuB48pQ6iw0dJILb9Dy3iuq91Yr2CaV6ypxvX2uHpWszVl7E+SK5MvIJBivkmbVnRMn9eUZUBfdLr2VZ0fbVO2w3aojyrvDRiY9G8bnXeqzeVwFE2izuh5EPdgRHrbWw5/sjQXpQaDQnHn5nFU4KLhFqVQfipWOii4OOEZzD00XINbNN2Ya/rIMyld5dZ/g7RjT2c0XDtX68QrNcdjdzbWkv+LzUtcvVo00hQlghGbQqtS+YXR9l40ldbvT9UecGGl75WKY265QH/Vdgnx2ZHPg4PpJI4m8f50tPu6X8cWuUcekCckJi/JLnlH9siMiOB+8Db4EHwMH4bvw/3w00YaBn3OXfKPhew3Cp7JDg==</latexit>
x 0, y  0

maximize
minimize z <latexit sha1_base64="fVxkKCgVjHAoIk0+h0ZZZrbjs5g=">AAAB73icbVA9SwNBEJ2LXzF+RS1tFoNgFe7SKFYBG8sI5gOSEPY2c8mS3b1zd0+IR/6EjYUitv4dO/+Nm+QKjT4YeLw3w8y8MBHcWN//8gpr6xubW8Xt0s7u3v5B+fCoZeJUM2yyWMS6E1KDgitsWm4FdhKNVIYC2+Hkeu63H1AbHqs7O02wL+lI8Ygzap3UkVxxyR9xUK74VX8B8pcEOalAjsag/NkbxiyVqCwT1Jhu4Ce2n1FtORM4K/VSgwllEzrCrqOKSjT9bHHvjJw5ZUiiWLtSlizUnxMZlcZMZeg6JbVjs+rNxf+8bmqjy37GVZJaVGy5KEoFsTGZP0+GXCOzYuoIZZq7WwkbU02ZdRGVXAjB6st/SatWDfxqcFur1K/yOIpwAqdwDgFcQB1uoAFNYCDgCV7g1bv3nr03733ZWvDymWP4Be/jG1xnkCI=</latexit>

subject to 2x 3y 5
z x y, z x+y
<latexit sha1_base64="Ic54OjnPdUzNr+87dwvvUTlLT6Y=">AAACyXicbZFNa9wwEIZlpx/p9mvTHnsZurSUNlnsDSEluQQKpdBLCt0ksFoWWZ51lMiyI8nBXrOn/sPeeutPqew1abrpgODVM+8wmlGUS2FsEPzy/I179x883HzUe/zk6bPn/a0XJyYrNMcxz2SmzyJmUAqFYyusxLNcI0sjiafR5acmf3qN2ohMfbdVjtOUJUrMBWfWoVn/N40wEarGq6Il75e9jjApEoXxsvcWqMXS1ikrRSoW2BDH2t61do4FUHrjMkV0gdyCzVa+UQk7sFsBTRD2Wt9aNSzaXGOrtgHoIT3s0I6DH6CCm6qyxcH2yuQS0t16FFX897Xt7dY0s/4gGAZtwF0RdmJAujie9X/SOONFispyyYyZhEFupzXTVnDphqeFwZzxS5bgxEnFUjTTup1nCW8ciWGeaXeUhZberqhZakyVRs6ZMntu1nMN/F9uUtj5x2ktVF5YVHzVaF5It2ZovhViod3WZeUE41q4twI/Z5px6z6/WUK4PvJdcTIahsEw/DYaHB1069gkr8hr8o6EZJ8ckS/kmIwJ9z570iu8a/+rf+WX/mJl9b2u5iX5J/wffwDbsNQy</latexit>
x 0, y  0
Trick 2: Minimax Objective
• Just like Trick 1, Trick 2 works when there are additional terms in
the objective, and when there are multiple max’s being added
(perform the trick separately for each max)

• Examples: minimize <latexit sha1_base64="C2/hvvWuvHDeym7/rjFjnIkRit4=">AAACaHicbZFNa9wwEIZlpx/pph9O0lJKLyJLS8nHYm8PDT0FeskxhW4SWC2LLM9uRCTZkcZhHbPkP/bWH9BLf0Vlx5A06YDg1TMazatRWijpMI5/BeHKo8dPnq4+6609f/HyVbS+cezy0goYiVzl9jTlDpQ0MEKJCk4LC1ynCk7S829N/uQSrJO5+YFVARPN50bOpODo0TS6ZinMpanhomzJ9rLXEa7k3EC27H2kDGGBtZZGankFDfFM8wWr9/cWu58XO9VutZewJWWtodr6MrpDhxVlrMfAZLeXtbs7zaZRPx7EbdCHIulEn3RxNI1+siwXpQaDQnHnxklc4KTmFqVQ3hsrHRRcnPM5jL00XIOb1K2vJf3gSUZnufXLIG3p3Yqaa+cqnfqTmuOZu59r4P9y4xJn+5NamqJEMOKm0axUFHPaTJ1m0oJAVXnBhZXeKxVn3HKB/m+aIST3n/xQHA8HSTxIvg/7B1+7cayS92SLfCIJ+UIOyCE5IiMiyO9gLXgdvAn+hFH4Nnx3czQMuppN8k+EW38BiXi4IA==</latexit>


max{8 x, 3x + y, y 1} + 2y
minimize
<latexit sha1_base64="4BK5NResIcW1Zv5MmEasnRCWl3w=">AAACdHicbVFNb9QwEHXCR8vy0YUeOJSDYVWE6O4qWQ5UnCpx6bFI3bbSerVynNmtVdtJ7QlKiPYX8O9642dw4YyTRqK0HcnS83sznueZJFfSYRT9CsIHDx893th80nv67PmLrf7LVycuK6yAqchUZs8S7kBJA1OUqOAst8B1ouA0ufja6KffwTqZmWOscphrvjJyKQVHTy36P1kCK2lquCxa5uO61zFcyZWBdN17TxlCibWWRmr5AxrGc5qXrN4flcNP5V41rEYxW1PWGqqtL9vrMibVkJajqhFZj4FJ/z3c3m40XvQH0Thqg94FcQcGpIujRf+KpZkoNBgUijs3i6Mc5zW3KIXyPlnhIOfigq9g5qHhGty8bj2u6a5nUrrMrD8GacverKi5dq7Sic/UHM/dba0h79NmBS7357U0eYFgxHWjZaEoZrTZAE2lBYGq8oALK71XKs655QL9npohxLe/fBecTMZxNI6/TQYHX7pxbJId8o58IDH5TA7IITkiUyLI7+B1QIO3wZ/wTTgId69Tw6Cr2Sb/RTj+C5UWvTQ=</latexit>
max{8 x, 3x + y, y 1} + max{2y, x y}

• Just like Trick 1, Trick 2 does NOT work for maximization problems
(Maximax), or when the max is negated

• Examples: maximize max{8 <latexit sha1_base64="Js5PLTes1TjRmX1XwU+ICmkPrm4=">AAACZXicbZFNb9QwEIadlI9lobAtiAsHLFZUiLarpD1QcarEhWOR2LbSerVynNmtVdsJ9gRtMPmT3Lhy4W/gpJEoLSNZev28Y894nJVKOkySn1G8cefuvfuDB8OHjzYfPxltbZ+6orICpqJQhT3PuAMlDUxRooLz0gLXmYKz7PJD6599BetkYT5jXcJc85WRSyk4BrQYfWcZrKTx8KXqyNtm2BOu5MpA3gx3KENYo9d8LbX8Bi3ZoZ51xb0NKSxYDfNH++u9w/VuvVfvp6yhlLEhA5P/vanbXau0GI2TSdIFvS3SXoxJHyeL0Q+WF6LSYFAo7twsTUqce25RChUaY5WDkotLvoJZkIZrcHPfNdrQ14HkdFnYsAzSjl4/4bl2rtZZyNQcL9xNr4X/82YVLo/mXpqyQjDiqtCyUhQL2o6c5tKCQFUHwYWVoVcqLrjlAsPHtENIbz75tjg9mKTJJP10MD5+349jQF6QV+QNSck7ckw+khMyJYL8igbRVrQd/Y4342fx86vUOOrPPCX/RPzyD6c0t+Y=</latexit>


x, 3x + y, y 1}
minimize <latexit sha1_base64="PGqX+RUDRMrNxGmaAI/5AuO27Lc=">AAACcXicbZHPTtwwEMad9B8stN2WXlDVymLVqirsKqEHUE9IvXCkUheQ1quV48wuFraT2pNq0yh3no8bL8GFF6gTIpVCR7L0+Tdjz+dxkivpMIqugvDR4ydPn62s9tbWn7942X/1+thlhRUwFpnK7GnCHShpYIwSFZzmFrhOFJwk59+a/MkvsE5m5geWOUw1Xxg5l4KjR7P+BUtgIU0FP4uWfK57HeFKLgykde8jZQhLrLQ0Usvf0BDP2t6V9RXDTieKi/Oaab5k1f5wufNluV3ulMOY1ZQy1mNg0r+3trs7XWf9QTSK2qAPRdyJAeniaNa/ZGkmCg0GheLOTeIox2nFLUqhvElWOMi9Ib6AiZeGa3DTqnVa0w+epHSeWb8M0pbePVFx7VypE1+pOZ65+7kG/i83KXC+P62kyQsEI24bzQtFMaPN+GkqLQhUpRdcWOm9UnHGLRfoP6kZQnz/yQ/F8e4ojkbx993BwdduHCvkLdkin0hM9sgBOSRHZEwEuQ7eBO+C98FNuBnScOu2NAy6Mxvknwi3/wDFxL0B</latexit>
max{8 x, 3x + y, y 1}

Das könnte Ihnen auch gefallen