资源描述:
《cplex简要文档(法语)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Résoudreunproblèmed’optimisationparleCPLEXcoupléencodedeC++LIXiaohuiRéunionAxe2LOSI,15Octobre2010PrincipedeCPLEXCPLEXsolveurestunoutilpuissantpourrésoudreleproblèmed’optimisation(programmemathématique)TroisméthodedeutilisationManuelleÉcrireunfichierLPCouplageave
2、cC++ouJAVACPLEXsousC++FonctionnecommelesbibliothèquesstandardC#includeMakefileCompilelefichiersourceC,indiqueàl'ordinateuroùtrouverlesfichiersdebibliothèqueetdelalicencedeCPLEXDéclarationdanslefichierCFonctiond’objectifContraintsBornesEtapes1
3、.Déclarerl’environnementetlemodèledeproblème2.Déclarerlesvariablesetlefonctiond’objectif3.Définirlescontraintsetlesbornedesvariables4.RésoudreleproblèmeExempleMaximizeobj:x1+2x2+3x3+x4SubjectToc1:-x1+x2+x3+10x4<=20c2:x1-3x2+x3<=30c3:x2-3.5x4=0Bounds0<=x1<=402<=x
4、4<=3ExempleVariablesdesdécisionsIloNumVarArrayx(env,4,0,IloInfinity);Paramètre:(Environnement,Nombredesvariables,Borneinférieur,Bornesupérieur)Fonctiond’objectifIloExprobjfunc(env);model.add(IloMaximize(env,objfunc));ExempleContraintesModel.add(-x[0]+x[1]+x[2]+1
5、0*x[3]<=20);Model.add(x[0]-3*x[1]+x[2]<=30);Model.add(x[1]-3.5*x[4]==20);BorneModel.add(x[0]>=0);Model.add(x[0]<=40);Model.add(x[0]>=2);Model.add(x[0]<=3);Fonctiond’objectifModel.add(objfunc==x[0]+2*x[1]+3*x[2]+x[3])ExempleDéclarationd’environnementetdemodèleIlo
6、Envenv;IloModelmodel(env);RésoudreleproblèmeIloCplexmycplex(model);mycplex.exportModel("Test.lp");Mycplex.solve();AnalysederésultatValeurdefonctiond’objectifValeursdesvariablesdedécisionTempsdecalculAfficheunvariablexxx=mycplex.getValue(x[1]);Exemple2Unproblèmed
7、’ordonnancementdemachineparallèle//Déclarerl’environementetlemodèleIloEnvenv;IloModelmodel(env);//déclarervariablesNumVar3Matrixx(env,M);for(k=0;k8、NumVarArrayCj(env,DIMEN+1,0,IloInfinity,ILOINT);IloNumVarArrayTj(env,DIMEN+1,0,IloInfinity,ILOINT);IloNumVarArrayObj(env,2,0,IloInfinity,ILOINT);Exemple2Exemple2//Déc