网站大量收购独家精品文档,联系QQ:2885784924

5_YALMIP工具箱1.pdf

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5_YALMIP工具箱1

YALMIP工具箱简介 东北大学数学系 王琪 wangqimath@ YALMIP工具箱简介 ? 基于符号运算工具箱编写 ? 一种定义和求解高级优化问题的模化语言 ? 用于求解线性规划、整数规划、非线性规 划、混合规划等标准优化问题以及LMI ? 工具箱主页: http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php YALMIP工具箱的安装 ? Add the following directories to MATLAB path ? /yalmip ? /yalmip/extras ? /yalmip/demos ? /yalmip/solvers ? /yalmip/modules ? /yalmip/modules/parametric ? /yalmip/modules/moment ? /yalmip/modules/global ? /yalmip/modules/sos ? /yalmip/operators 路径设置 安装测试与示例 ? 测试YALMIP及已经存在的优化工具箱是否 正常 ? Yalmiptest ? 示例及入门 ? Yalmipdemo(学习该工具箱的最佳途径) 实型变量—sdpvar ? sdpvar是YALMIP的一种核心对象,它所代表的是优 化问题中的实型决策变量。 ? 该种类型的变量可以通过如下方法产生: ? P=sdpvar(n,m); %表示x为n*m的矩阵 ? P=sdpvar(n,n,’full’); %表示x为n*n的方阵 ? P=sdpvar(n,n,symmetric);%表示x为n*n的对称方阵 例:P=sdpvar(3,3);%方阵不带参数默认为对称方阵 P可以像正常的矩阵一样进行各种运算及操作,如: v = trace(P)+P(1,1)+sum(sum(P))*5; X = [P diag(P) v*eye(4)]; 实型变量—sdpvar ? 变量sdpvar到底是什么? ? 它是符号型、未知的,但可以写为一组基 矩阵的和 ? P = P0+p1*P1+p2*P2+...+pn*Pn ? 可以用see函数来了解sdpvar类型数据的构 成 其它决策变量类型 ? intvar——整型 如:P=intvar(3,4) ? binvar——0-1型 如:P=binvar(5,5) 约束条件—set ? set(集合)是YALMIP的另外一种关键对象,用 它来囊括优化问题的所有约束条件。 ? 最常用的集合构造方法为采用set函数 例: P = sdpvar(3,3); F = set(P 0);%唯一的不等式约束 对于存在上、下界的情况,也可以有如下的写法: F = set(0 diag(P) 5); 约束条件—set ? 如果是等式约束,注意用“==”表示,如: F = set(diag(P) == zeros(3,1));%等式约束 上式也可以写为F = set(diag(P) == 0); ? 如果问题包含多个约束条件,可以将多个 条件用“+”相连 F = set(P0) + set(0 diag(P) 5); 约束条件的三种构造方法 ? P = sdpvar(3,3); ? F1 = set(P0)+set(sum(P.^2) [5,6,7]); ? F2 = set(P0)+set(sum(P.^2) [5,6,7]); ? F3 = [P0, sum(P.^2) [5,6,7]]; ? 以上构造出的F1、F2、F3完全相同 求解函数—solvesdp ? 函数solvesdp用来求解优化问题 ? s=solvesdp(F);%求解可行解问题 ? s=solvesdp(F, f);%求解一般优化问题,其 中f为目标函数 ? s=solvesdp(F, f, options); %设定选项,比 如选择算法等 结果获得 ? 求解完成后,用P=double(P)提取解矩阵 示例求解下列线性规划问题 ? ? ? ? ? ≥≥≥≥ ≤??++ ≤+++ ????? 57.2,678.0,32.3,0, 62543 54242 .. )342min( 54321 54321 5432 54321 xxxxx xxxxx xxxx ts xxxxx 求解示例的源代码 f=-[2 1 4 3 1]; A=[0 2 1 4 2; 3 4 5 -1 -1]; B=[54; 62]; Ae=[]; Be=[]; xm=[0,0,3.32,0.678,2.57]; P=sdpvar(5,1); g=f*P; F=set(A*P=B)+set(xm=P); sol=solvesdp(F,g); P=double(P)

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档