码迷,mamicode.com
首页 > 其他好文 > 详细

Yalmip+Ipopt+Cplex使用手册

时间:2017-04-28 13:53:10      阅读:3475      评论:0      收藏:0      [点我收藏+]

标签:hang   rar   blog   available   --   studio   官方   函数   compose   

Yalmip+Ipopt+Cplex使用手册

1.软件版本

  • Cplex 12.6.2,Matlab R2014a,Ipopt 3.12.6,Yalmip

 

2.Cplex添加方法

  • 官方下载地址: http://www-01.ibm.com/software/websphere/products/optimization/cplex-studio-community-edition/
  • 其中community-edition可以免费试用,但最多只能计算1000个变量或1000个约束条件的优化问题。
  • 点击技术分享安装,安装步骤默认操作即可。
  • 点击Matlab中的技术分享,点击技术分享,找到技术分享路径并将其添加,最后点击技术分享即可。
  • 然后在Matlab命令行窗口输入技术分享,出现帮助文档,代表添加成功。

 

3.Ipopt添加方法

技术分享 

图1-1

技术分享 

图1-2

  •  打开MATLAB,设置路径-》添加并包含子文件夹-》选择Ipopt路径-》保存。见下图1-3。

技术分享 

图1-3

  • 右键运行图1-2中的opti_Install。MATLAB命令行窗口出现如下命令:

INSTALLING OPTI TOOLBOX ver 2.24

 

- Checking MATLAB version and operating system...

MATLAB (R2014a) 64bit (Windows x64) detected

 

- Checking for required pre-requisites...

Found the Microsoft VC++ 2015 x64 Redistributable

Found the Intel Fortran XE 2016 x64 Redistributable

 

- Checking for previous versions of OPTI Toolbox...

Could not find a previous installation of OPTI Toolbox

 

- Adding OPTI Paths to MATLAB Search Path...Done

 

- Would You Like To Save the Path Changes? (Recommended) (y/n): y

 

- Would You Like To Run Post Installation Tests? (Recommended) (y/n): y

 

Checking OPTI Toolbox Installation:

Checking Paths...                Ok

Checking    LP Solver Results... Ok

Checking  MILP Solver Results... Ok

Checking    QP Solver Results... Ok

Checking  MIQP Solver Results... Ok

Checking   SDP Solver Results... Ok

Checking   NLS Solver Results... Ok

Checking   NLP Solver Results... Ok

Checking MINLP Solver Results... Ok

 

Toolbox Checked Out Ok! - Enjoy

 

OPTI Toolbox Installation Complete!

------------------------------------------------

 

You now have the following solvers available to use:

 

------------------------------------------------

OPTI AVAILABLE SOLVERS:

 

BARON:           Not Available

BONMIN:          Available      v1.8.4

CBC:             Available      v2.9.8

CLP:             Available      v1.16.10

CPLEX:           Not Available

CSDP:            Available      v6.2 beta

DSDP:            Available      v5.8

FILTERSD:        Available      v1.0

GLPK:            Available      v4.48

GMATLAB:         Available      v3.2.5

HYBRJ:           Available

IPOPT:           Available      v3.12.6

LBFGSB:          Available      v3.0

LEVMAR:          Available      v2.6 (November 2011)

LMDER:           Available

LP_SOLVE:        Available      v5.5.2.0

M1QN3:           Available      v3.3

MATLAB:          Available      v7.0

MKLTRNLS:        Available      v2017.0 R2

MOSEK:           Not Available

MUMPS:           Available      v4.10.0

NL2SOL:          Available      v2.3

NLOPT:           Available      v2.4.2

NOMAD:           Available      v3.7.2

OOQP:            Available      v0.99.22

PSWARM:          Available      v1.5

SCIP:            Not Available

SEDUMI:          Not Available

 

4.Yalmip添加方法

  • 下载地址:https://yalmip.github.io/
  • 将下载的文件解压,设置路径-》添加并包含子文件夹-》选择Yalmip路径-》保存。
  •  在Matlab的命令行窗口中输入技术分享或输入Yalmiptest,测试是否添加成功。

 

5.通过Yalmip建模并调用Cplex和Ipopt

  • 首先通过Yalmip建立一个MILP的模型,调用Cplex求解并设置迭代时间,然后将其迭代结束得出的最优解作为初始值赋值给一个NLP模型,调用IPOPT求解,最终求出一个最优解。
  • Yalmip设置变量,实数变量:sdpvar;0-1变量:binvar;整数变量:intvar。具体例子见图1-4.

技术分享 

技术分享 

图1-4

  • Yalmip设置约束条件。具体例子见图1-5.

技术分享 

技术分享 

图1-5

  • Yalmip设置目标函数。具体例子见图1-6.

技术分享 

技术分享 

图1-6

  • Yalmip调用求解器。具体例子为调用Cplex,见图1-7.

技术分享 

图1-7

  • Yalmip设置Options中的一些属性。调试中,程序运行到图1-8中的第7行时,在Matlab的工作区中点击技术分享,查看options,见图1-9。在图1-9中找到并点击技术分享,出现图1-10,在1-10中找到技术分享,timelimit为迭代的最大时间。图1-10中的技术分享为输出建立的数学模型。

技术分享 

图1-8

 技术分享

图1-9

 技术分享

图1-10

  • Yalmip设置Cplex的迭代最大时间,见图1-11.

 技术分享

图1-11

  • Yalmip设置Cplex输出建立的数学模型,见图1-12.点击图1-13,出现图1-14,1-15,图1-14中obj即为目标函数。图1-15中的Subject To即为约束条件。

 技术分享

图1-12

技术分享 

图1-13

 技术分享

图1-14

 技术分享

图1-15

  • Yalmip设置初值,官方说明见图1-16.在options中将usex0设置为1即为设置初始值,赋值初始值使用assign。具体见图1-17和图1-18.图1-17中的P_it为被赋值的对象,Pit为初始值。图1-18中的求解器为Ipopt。

 技术分享

图1-16

 技术分享

图1-17

技术分享 

图1-18

  • Yalmip求解命令,见图1-19.图1-19中的constraint为模型约束条件,fun为模型目标函数,options见图1-18.

 技术分享

图1-19

  •  Yalmip产看变量或表达式的值,见图1-20.图1-20为输出目标函数的值。fun为目标函数。

 技术分享

图1-20

  • Yalmip调用Cplex求解结果,见图1-21和图1-22.

 技术分享

图1-21

技术分享 

图1-22

  • Yalmip调用Ipopt求解结果,见图1-23和图1-24.

技术分享 

图1-23

技术分享 

图1-24

Yalmip+Ipopt+Cplex使用手册

标签:hang   rar   blog   available   --   studio   官方   函数   compose   

原文地址:http://www.cnblogs.com/landiljy/p/6776434.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!