YALMIP:AtoolboxformodelingandoptimizationinMATLABJohanL¨ofbergAutomaticControlLaboratory,ETHZCH-8092Z¨urich,Switzerland.loefberg@control.ee.ethz.chAbstractTheMATLABtoolboxYALMIPisintroduced.ItisdescribedhowYALMIPcanbeusedtomodelandsolveoptimizationproblemstypicallyoccurringinsystemsandcontroltheory.I.INTRODUCTIONTwoofthemostimportantmathematicaltoolsintroducedincontrolandsystemstheoryinthelastdecadeareproba-blysemideniteprogramming(SDP)andlinearmatrixin-equalities(LMI).Semideniteprogramminguniesalargenumberofcontrolproblems,rangingfromthemorethan100yearoldclassicalLyapunovtheoryforlinearsystems,moderncontroltheoryfromthe60'sbasedonthealgebraicRiccatiequation,andmorerecentdevelopmentssuchasH¥controlinthe80's.Moreimportantly,LMIsandSDPhasledtomanynewresultsonstabilityanalysisandsynthesisforuncertainsystem,robustmodelpredictivecontrol,controlofpiecewiseafnesystemsandrobustsystemidentication,justtomentionafewapplications.InthesamesensethatweearlieragreedthatacontrolproblemwassolvediftheproblemboileddowntoaRiccatiequation,asinlinearquadraticcontrol,wehavenowcometoapointwhereaproblemwithasolutionimplicitlydescribedbyanSDPcanbeconsideredsolved,eventhoughthereisnoanalyticclosed-formexpressionofthesolution.Itwasrecognizedinthe90'sthatSDPsareconvexoptimizationproblemsthatcanbesolvedefcientlyinpolynomialtime[13].Hence,foraproblemstatedusinganSDP,notonlycanwesolvetheproblembutwecansolveitrelativelyefciently.ThelargenumberofapplicationsofSDPhasledtoanintenseresearchanddevelopmentofsoftwareforsolvingtheoptimizationproblems.Therearetodayaround10publicsolversavailable,mostofthemfreeandeasilyaccessibleontheInternet.However,thesesolverstypicallytaketheproblemdescriptioninaverycompactformat,makingimmediateuseofthesolverstime-consuminganderrorprone.Toovercomethis,modelinglanguagesandinterfacesareneeded.ThispaperintroducesthefreeMATLABtoolboxYALMIP,developedinitiallytomodelSDPsandsolvethesebyinterfacingexternalsolvers.Thetoolboxmakesdevelopmentofoptimizationproblemsingeneral,andcon-trolorientedSDPproblemsinparticular,extremelysimple.RapidprototypingofanalgorithmbasedonSDPcanbedoneinmatterofminutesusingstandardMATLABcommands.Infact,learning3YALMIPspeciccommandswillbeenoughformostuserstomodelandsolvetheiroptimizationproblem.YALMIPwasinitiallyindentedforSDPandLMIs(hencethenowobsoletenameYetAnotherLMIParser),buthasevolvedsubstantiallyovertheyears.Themostrecentrelease,YALMIP3,supportslinearprogramming(LP),quadraticprogramming(QP),secondorderconepro-gramming(SOCP),semideniteprogramming,determinantmaximization,mixedintegerprogramming,posynomialge-ometricprogramming,semideniteprogramswithbilinearmatrixinequalities(BMI),andmultiparametriclinearandquadraticprogramming.Tosolvetheseproblems,around20solversareinterfaced.ThisincludesbothfreewaresolverssuchasSeDuMi[16]andSDPT3[17],andcommercialsolversasthePENNONsolvers[7],LMILAB[4]andCPLEX[1].Duetoaexiblesolverinterfaceandinternalformat,addingnewsolvers,andevennewproblemclasses,canoftenbedonewithmodesteffort.YALMIPautomaticallydetectswhatkindofaproblemtheuserhasdened,andselectsasuitablesolverbasedonthisanalysis.Ifnosuitablesolverisavailable,YALMIPtriestoconverttheproblemtobeabletosolveit.Asanexample,iftheuserdenessecondorderconeconstraints,butnosecondorderconeprogrammingsolverisavailable,YALMIPconvertstheconstraintstoLMIsandsolvestheproblemusinganyinstalledSDPsolver.OneofthemostimportantextensioninYALMIP3comparedtoearlierversionsisthepossibilitytoworkwithnonlinearexpression.ThishasenabledYALMIPuserstodeneoptimizationproblemsinvolvingBMIs,whichthencanbesolvedusingthesolverPENBMI[6],therstpublicsolverforproblemswithBMIconstraints.Theseoptimizationproblemsareunfortunatelyextremelyhardtosolve,at-leastglobally,butsinceanenormousamountofproblemsincontroltheoryfallsintothisproblemsclass,itisourhopethatYALMIPwillinspireresearcherstodevelopefcientBMIsolversandmakethempubliclyavailable.AnotherintroductioninYALMIP3isaninternalbranch-and-boundframework.ThisenablesYALMIPtosolveintegerprogramsforallsupportedconvexoptimizationclasses,i.e.mixedintegerlinear,quadratic,secondorderconeandsemideniteprograms.Thebuilt-inintegersolvershouldnotbeconsideredacompetitortoanydedicatedintegersolversuchasCPLEX[1].However,iftheuserhasnointegersolverinstalled,heorshewillat-leastbeabletosolvesomesmallintegerproblemsusingYALMIP.Moreover,therearecurrentlynootherfreepublicsolversavailableforsolvingmixedintegersecondorderconeandsemideniteprograms.ThelatestreleaseofYALMIPhasbeenextendedtoincludeasetofmid-levelcommandstofacilitateadvancedYALMIPprogramming.Thesecommandshavebeenusedtodevelopscriptsformomentrelaxationproblems[10]andsum-of-squaredecompositions[14],tworecentap-proaches,basedonSDPandLMIs,forsolvingglobalpoly-nomialoptimizationproblems.Therearededicated,moreefcient,packagesavailableforsolvingtheseproblems(GloptiPoly[5]andSOSTOOLS[15]),andtheinclusionofthesefunctionalitiesaremainlyintendedtogiveadvancedusershintsonhowthemid-levelcommandscanbeused.Thesum-of-squarefunctionalitydoeshoweverhaveanovelfeatur