tsp问题matlab求解问题求解

[学习笔记]几类可以神奇转化为线性规划的问题matlab求解
几类可以神奇转化为线性规划的问题matlab求解
有些有约束的“伪线性规划”问题可以巧妙转化成线性规划的问题得以求解。实在太巧秒了。
1.第一类问题(含绝对值的“伪线性规划”问题):
则上面的优化问题转化为:
c=[1,2,3,4,1,2,3,4];
Aeq=[1,-1,-1,1,-1,1,1,-1;1,-1,1,-3,-1,1,-1,3;1,-1,-2,3,-1,1,2,-3];
beq=[0;1;-1/2];
lb=zeros(8,1);
uv0=ones(8,1);
options = optimset('LargeScale', 'off', 'Simplex',
'on','Diagnostics','on','MaxIter',1000);
[uv,fval,exitflag,output,lambda]=linprog(c,[],[],Aeq,beq,lb,[],uv0,options)
解得u1,u2,u3,u4,v1,v2,v3,v4分别为:1/4,0,0,0,0,0,0,1/4,即
x1,x2,x3,x4的值分别为:1/4,0,0,-1/4时,最小者为1.25
用Lingo验证结果:
x1-x2-x3+x4=0;
x1-x2+x3-3*x4=1;
x1-x2-2*x3+3*x4=-1/2;
@free(x1);@free(x2);@free(x3);@free(x4);
value:&&&&&&&1.250000
Variable&&&&&&&Value&&&&&&&&
0.2500000&&&&&&&&&&&&
&&&X2&&&&&&&
0.000000&&&&&&&&&&&&
0.000000&&&&&&&&&&&&
&&&X4&&&&&
-0.2500000&&&&&&&&&&&
与matlab求得结果一致。
2.第二类问题(含取最大或最小值的“伪线性规划”问题):
现令x0=max{x1-x2+x3,x1+x2,x1-x3},故有
x0&=x1-x2+x3,x0&=x1+x2,x0&=x1-x3
故上面的规划问题转换为:
c=[1,0,0,0];
Aeq=[0,1,1,-1;0,2,-1,0];
beq=[1;2];
A=[0,1,-2,1;-1,1,-1,1;-1,1,1,0;-1,1,0,-1];
b=[1;0;0;0];
lb=zeros(3,1);
xx0=[-0;0;0];
options = optimset('LargeScale', 'off', 'Simplex',
'on','Diagnostics','on','MaxIter',1000);
[x,fval,exitflag,output,lambda]=linprog(c,A,b,Aeq,beq,lb,[],xx0,options)
求得结果:x1,x2,x3分别为:1,0,0时,取得最优解为1。
用Lingo验证结果:
object/1..3/:
f(1) = x1-x2+x3;
f(2) = x1+x2;
f(3) = x1-x3;
x1+x2-x3=1;
2*x1-x2=2;
x1-2*x2+x3&=1;
min = @smax(f(1),f(2),f(3));
value:&&&&&&&&
Variable&&&&&&&Value&&&&&&&&
&&&X1&&&&&&&
1.000000&&&&&&&&&&&&
0.000000&&&&&&&&&&&&
&&&X3&&&&&&&
0.000000&&&&&&&&&&&
与matlab求的一致。
3.第三类问题:线性回归问题
线性回归是一种常用的数理统计方法,这个方法要求对图上的一系列点(x1,y1),(x2,y2),...,(xn,yn)选配一条合适的直线拟合。方法通常是先定直线方程为:y=bx+a,然后按某种准则求a、b。通常这个准则为最小二乘法,则求对应的a、b值。
下面用线性规划求解:
按照第一类问题的解法,设有四个点为:(1,2),(2,4),(3,8),(4,10),令
模型转化为:
c=[0,0,1,1,1,1,1,1,1,1];
Aeq=[1,1,1,0,0,0,-1,0,0,0;1,2,0,1,0,0,0,-1,0,0;1,3,0,0,1,0,0,0,-1,0;1,4,0,0,0,1,0,0,0,-1];
beq=[2;4;8;10];
lb=[-inf,-inf,0,0,0,0,0,0,0,0];
abuv0=ones(10,1);
options = optimset('LargeScale', 'off', 'Simplex',
'on','Diagnostics','on','MaxIter',1000);
[abuv,fval,exitflag,output,lambda]=linprog(c,[],[],Aeq,beq,lb,[],abuv0,options)
求解得出:a=
-0.6667,b=2.6667。验证结果:
用Lingo求解验证:
min=u1+u2+u3+u4+v1+v2+v3+v4;
a+b+u1-v1=2;
a+2*b+u2-v2=4;
a+3*b+u3-v3=8;
a+4*b+u4-v4=10;
@free(a);@free(b);
求得a=-0.6666667&,b=2.666667。与matlab的是一致的。&&&&&&&&&&&&&&&&&&&&
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。小木虫 --- 600万学术达人喜爱的学术科研平台
热门搜索:
&&求助用MATLAB求最优解问题
求助用MATLAB求最优解问题
问题主要是三角形隶属函数参数的确定问题,具体是如何求出第1张图中t1和t2。第1张图是一个三角形隶属函数,其函数的形式为图2所示,目的是求使图3所示的函数达到最小值时的t1和t2的值,t1和t2的取值范围是(8.8,16.8)和(16.8,31.3),x取值为一系列离散值,如图5所示。我的问题是应该如何用MATLAB编程求解t1和t2,或者用其他方法可以解决,希望懂的专家不吝赐教。
能不能说详细点,谢谢
如退火算法,蚁群算法,粒子群算法,遗传算法,萤火虫算法,水滴算法。。。
都是一些优化思想
看着有点复杂,有没有简单易懂一点的方法,只需要求出这两个参数即可,谢谢
看到这句话,我想我要好好思考下了。
我说的没错吧?
实话是“不晓得”,我经验尚浅:)
& &启发式算法确是有其适用性,不过也应该是针对不同问题来说的,比如,线性规划,有精确的Simplex Method和Interior Point Method我就尽量不会用启发式算法了。:)启发式能不能解和解得是否足够好这种评价也许也是因人而异的。:)
& &anyway, thanks,
学术必备与600万学术达人在线互动!
扫描下载送金币【图文】最优化问题的MATLAB求解_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
最优化问题的MATLAB求解
大小:1.72MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(29390)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'Matlab优化(求极值)',
blogAbstract:'理论介绍:算法介绍、软件求解.\n一.线性规划问题\n1.线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最小值的问题,Matlab中规定线性规划的标准形式为\n\n\t\t其中c和x为n维列向量,A、Aeq为适当维数的矩阵,b、beq为适当维数的列向量。注意:线性规划问题化为Matlab规定中的标准形式。\n求解线性规划问题的Matlab函数形式为linprog(c,A,b),它返回向量x的值,它的具体调用形式为:\n',
blogTag:'matlab',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:3,
permalink:'blog/static/',
commentCount:3,
mainCommentCount:3,
recommendCount:8,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}今日: 12|昨日: 168|帖子: 937497|会员: 433923|欢迎新会员:
主题: 91, 帖数: 5万
主题: 23, 帖数: 1166
主题: 125, 帖数: 3746
主题: 9, 帖数: 108
主题: 158, 帖数: 7万
主题: 119, 帖数: 2万
主题: 248, 帖数: 8万
主题: 239, 帖数: 4万
主题: 31, 帖数: 1908
主题: 107, 帖数: 4093
主题: 13, 帖数: 1万
主题: 248, 帖数: 5932
主题: 44, 帖数: 736
主题: 703, 帖数: 2万
主题: 649, 帖数: 1万
主题: 167, 帖数: 5742
主题: 152, 帖数: 4876
主题: 24, 帖数: 163
主题: 49, 帖数: 326
主题: 20, 帖数: 515
主题: 30, 帖数: 300
主题: 10, 帖数: 15
主题: 10, 帖数: 37
主题: 41, 帖数: 1217
主题: 18, 帖数: 300
主题: 38, 帖数: 403
主题: 49, 帖数: 181
分区版主: ,
主题: 9358, 帖数: 5万
主题: 5645, 帖数: 2万
主题: 1888, 帖数: 2万
主题: 3231, 帖数: 4万
主题: 425, 帖数: 1万
主题: 846, 帖数: 7197
主题: 3684, 帖数: 2万
主题: 1601, 帖数: 9403
主题: 66, 帖数: 148
主题: 218, 帖数: 3719
主题: 815, 帖数: 3万
主题: 18, 帖数: 46
主题: 43, 帖数: 72
主题: 670, 帖数: 3907
主题: 22, 帖数: 42
主题: 321, 帖数: 1752
主题: 647, 帖数: 3625
主题: 1209, 帖数: 8227
主题: 824, 帖数: 4576
主题: 448, 帖数: 1514
主题: 2210, 帖数: 1万
主题: 35, 帖数: 119
主题: 22, 帖数: 53
主题: 20, 帖数: 34
主题: 4, 帖数: 5
主题: 41, 帖数: 98
主题: 193, 帖数: 968
主题: 0, 帖数: 0
主题: 66, 帖数: 248
主题: 35, 帖数: 477
主题: 60, 帖数: 1003
主题: 820, 帖数: 1万
主题: 34, 帖数: 172
主题: 54, 帖数: 442
主题: 100, 帖数: 1533
主题: 158, 帖数: 1002
主题: 154, 帖数: 1063
主题: 26, 帖数: 71
主题: 126, 帖数: 778
主题: 398, 帖数: 1664
主题: 89, 帖数: 609
主题: 56, 帖数: 249
主题: 13, 帖数: 83
主题: 1856, 帖数: 8465
主题: 778, 帖数: 2549
主题: 52, 帖数: 407
主题: 59, 帖数: 111
主题: 0, 帖数: 0
主题: 40, 帖数: 2万
主题: 214, 帖数: 886
主题: 1194, 帖数: <span title="万
主题: 12, 帖数: 458
主题: 75, 帖数: 124
昨天&21:00
- 总计 340 人在线
- 最高记录是 6992 于 .
MATLAB技术论坛|Simulink仿真论坛|专业Matlab技术交流平台!申万宏源金工新闻云
Powered by

我要回帖

更多关于 规划问题matlab求解 的文章

 

随机推荐