GurobiOptimizationPushingtheFrontiersofOptimizationPerformanceAgenda12:00-12:25Introduction◦BobBixby12:25-12:50AccessingGurobi◦GregGlockner1250125GbiThl12:50-1:25GurobiTechnology◦BobBixby1:25-1:40Break1:40-2:00GurobiBestPractices◦GregGlockner2:00-2:20Performance2:20-2:30TheFuture◦BobBixbyQuestion&Answer2©2010GurobiOptimization18-Jun-10GurobiOptimizationGurobiOptimization,Inc.p,IncorporatedJuly,2008Founders:ZonghaoGu,EdRothberg,BobBixbyProductReleasesVersion1.0:May2009LPsimplex&MIPLPsimplex&MIPVersion2.0:October2009LPsimplex&MIPperformanceimprovementspppVersion3.0:April2010LPbarrier,MIPperformanceimprovements3©2010GurobiOptimization18-Jun-10CompanyBusinessModelFocusonmathprogrammingsolverspgg◦Ourbusinessishelpingourcustomerssucceedwithmathprogrammingsolutions◦ProvidethebestpossiblesupportfrompeoplewhoProvidethebestpossiblesupportfrompeoplewhoknowmathprogrammingBeaflexiblepartner◦Licensingmodelsthatmeetuserneeds◦Licensingmodelsthatmeetuserneeds◦Clear,upfrontpricingBethetechnologyleader◦Buildthebestavailablemathprogrammingtechnology4©2010GurobiOptimization18-Jun-10TheGurobiProductsGurobiSolversMidItPi◦Mixed-IntegerProgrammingDeterministic,parallel◦LinearProgrammingDualandprimalsimplexAllddf◦AllstandardfeaturesAPIs◦Simplecommand-lineinterface◦PythoninteractiveinterfacePythoninteractiveinterface◦C,C++,Java,Pythoncallablelibraries◦AllstandardmodelinglanguagesGurobiCloudEC2offering◦EC2offeringCommercialandAcademicLicenses◦Licensingoptionsandpricingavailableat©2010GurobiOptimization18-Jun-10GurobiGurobiCommercialPartnersCommercialPartnersGurobiGurobiNonNonCommercialPartnersCommercialPartnersGurobiGurobiNonNon--CommercialPartnersCommercialPartnersParamILS6©2010GurobiOptimization18-Jun-10ExpandingtheReachofOptimization7©2010GurobiOptimization18-Jun-10ExpandingtheReachofOiiiOptimizationParallelatnoextrachargeg◦GurobiwasthefirstFreeTrialLicenses◦Automateddownloadandlicensegeneration◦Automateddownloadandlicensegeneration◦500variableby500constraintsizelimitAcademicProgram◦Freesingle-userlicensesforacademicsAutomateddownloadandlicensegenerationBi-weeklyvalidationyTheGurobiCloud◦Youonlypayforwhatyouuse8©2010GurobiOptimization18-Jun-10FreeAcademicLicensesHerearethesteps:pRequestaGurobiaccountDownloadandinstallsoftwareGenerateanddownloadlicensekeyInstallandvalidatethelicensekey◦DoesareverseDNSlookupoforigindomainMustberepeatedatleastonceevery2weeks◦Mustberepeatedatleastonceevery2weeks9©2010GurobiOptimization18-Jun-10ExpandingthereachofOptimizationOver1500freeacademiclicensesissued50%outsidetheUS30%appeartobeoutsidetheORcommunity◦MartinAlbrecht,UniversityofLondon,IamagradstudentintheInformationSecurityGroup(ISG)atRoyalHolloway,UniversityofLondon.IworkonalgebraicaspectsofsymmetriccryptologyunderthesupervisionofCarlosCid.”◦ShoibalChakravarty,EnergyGroup,PrincetonUniversity,ChakravartyisdevelopingaglobalCO2emissionsattributionprofile.”◦Tai-HsuanWu,EE,UWisconsin,Hisresearchinterestsareintheareaofcomputer-aideddesignandwithanemphasisonpowerawareandhighperformancedesigntechniques,paralleloptimization,andgridcomputingenvironments.10©2010GurobiOptimization18-Jun-10What’sNewinGurobi3.011©2010GurobiOptimization18-Jun-10NewinGurobi3.0ParallelBarrierOptimizerNew.NETAPISignificantlyImprovedMIPperformance◦DominancetechniquesSymmetrychecking◦AdditionalandimprovedcuttingplanesSubmipcuts◦Newheuristics◦Newheuristics◦NewpresolvereductionsOther◦ImprovedmemorymanagementinMIP◦ImprovedmemorymanagementinMIP◦APIforaccessingmultipleMIPsolutions◦NewparametersandmoreaccesstoparametersExamples:MIPfocusparameter,moreaccesstoheuristicspp,12©2010GurobiOptimization18-Jun-10Questions?Questions?AccessingGurobiAccessingGurobiMethodstoaccessGurobiCommand-lineexecutable◦SimpletooltotestmodelfilesProgramminginterfaces◦APIstobuildandsolvemodelsModelingsystems◦Widevarietyofcommercialandfreepartners◦Widevarietyofcommercialandfreepartners15©2010GurobiOptimization18-Jun-10GurobiprogramminginterfacesInteractiveshellObject-based◦C++,Java,.NETnew!Matrix-based◦C16©2010GurobiOptimization18-Jun-10CommonstructureStreamlined◦GurobiAttributesreplacelonglistofget/setfunctionsFast◦Lazyupdatesprocessmodelchangesinabatch◦LazyupdatesprocessmodelchangesinabatchLowmemoryoverheadLowmemoryoverhead17©2010GurobiOptimization18-Jun-10GurobiinteractiveshellAcompleteprogrammingenvironmentppgg◦BasedonPythonlanguage◦SupportsallGurobialgorithmsandfeaturesEasilybuildvirtuallyanyoptimizationapplicationapplication◦Solveamodelfile◦Buildamodelthroughcodeg◦Solveasequenceofmodels◦Import/exportwithdatabases18©2010GurobiOptimization18-Jun-10Simpleshellexamplem=read(afiro.mps)mread(afiro.mps)m.optimize()ifm.status==GRB.OPTIMAL:m.printAttr('X')19©2010GurobiOptimization18-Jun-10Simpleshellexample–2m=read(afiro.mps)mread(afiro.mps)m.optimize()ifm.status==GRB.OPTIMAL:foriinm.getVars():printi.VarName,i.X,i.RC20©2010GurobiOptimization18-Jun-10Modelingintheshell#Createanewmodelm=Model(mip1)#Createvariablesandobjective:x+y+2z#Createvariab