问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

求用matlab 软件 编写~目标函数的单纯形法

提问网友 发布时间:2022-04-23 14:30
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2023-10-24 01:47
搜索即可function [opt_X,opt_S]=Simplexe2(fhandle,X_0,n,lambda,mu,h,epsiro,K)
%:单纯形加速法(教学版)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 参考文献:
% 林明芳,张宝生等.汽车优化设计.吉林科学技术出版社,1991.P61-67
% Write By coldstar@126.com 2005.9
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Input:
% -fhandle 函数句柄
% -X_0 n维初始列向量
% -n 维数
% -lambda 步长压缩系数!=0.5 (0 1)
% -mu 步长加大系数>1
% -h 单纯形边长
% -epsiro 精度
% -K 最大寻优次数
% Output:
% -opt_X 最优值点
% -opt_S 最优值
% Example:
% >>f3=inline('60-10*x(1)-4*x(2)+x(1)^2+x(2)^2-x(1)*x(2)');
% >>Simplexe2(f3,[0;0],2,0.618,2,2,0.001,20)
% >>fminsearch(f3,[0;0])

SearchTime=1;
%:初始单纯形
X=repmat(X_0,1,n)+h*eye(n);
X=[X_0,X];
%:初始化S,单纯形各点处函数值
S=inf(1,n);
for i=1:n+1
S(i)=Getfval(fhandle,X(:,i));
end
%:初始化SH,SG,SL,(最差点,次差点,最好点)
[SH,SG,SL,iXH,iXG,iXL]=GetShgl(S);
%:单纯性搜索寻优
while abs(SH-SL)>=epsiro*abs(SL) %按精度收敛
%:寻找反射线上最优点XS,SS
XR=GetXR(X,X(:,iXH));
SR=Getfval(fhandle,XR);
if SR>=SG%:步长压缩
XS=(1-lambda)*X(:,iXH)+lambda*XR;
SS=Getfval(fhandle,XS);
if SS>=SG %:单纯形收缩
for i=1:n+1
X(:,i)=(X(:,iXL)+X(:,i))/2;
end
end
elseif ((1-mu)*SH+mu*SR)<SL %:步长加大
XE=(1-mu)*X(:,iXH)+mu*XR;
SE=Getfval(fhandle,XE);
if SE<SR
XS=XE; SS=SE;
else
XS=XR; SS=SR;
end
else
XS=XR; SS=SR;
end
%:以寻优点XS替代最坏点XH,构成新单纯形
X(:,iXH)=XS; S(iXH)=SS;
%:重置XH,XG,XL,
[SH,SG,SL,iXH,iXG,iXL]=GetShgl(S);
%:迭代计数
SearchTime=SearchTime+1;
if SearchTime>K break; end %超过最大次数
end
%:返回并显示寻优结果
opt_X=X(:,iXL);opt_S=SL;
fprintf(1,'单纯形法 经%d次搜索:\n',SearchTime);
disp('最优点为'); disp(opt_X);
disp('最优点处目标函数值为'); disp(opt_S);

%-------------------------------
function fval=Getfval(fhandle,X)
%:求*函数值
fval=feval(fhandle,X');
%-------------------------------
function [SH,SG,SL,iXH,iXG,iXL]=GetShgl(S)
%:求目标函数最大值SH,次大值SG,最小值SL,及其X对应列的位置
[SH,iXH]=max(S);
[SL,iXL]=min(S);
S(:,iXH)=[];
[SG,iXG]=max(S);
if iXH<=iXG
iXG=iXG+1;
end
%-------------------------------
function XR=GetXR(X,XH)
%:计算反射点
n=length(XH);
XR=zeros(n,1);
for i=1:n+1
XR=XR+X(:,i);
end
XR=2*(XR-XH)/n-XH;

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

高分求 matlab 对偶单纯形法 程序 , 单纯形法标准软件有哪些 无约束单纯形法 matlab程序 matlab单纯形法求解线性规划 用MATLAB 编个程序 请问各位朋友:谁有两阶段单纯形法的matlab程序,先谢谢了! 用单纯形法求解线性规划问题 目标规划单纯形法的C++编程 实验二:MATLAB编程单纯形法求解 土豆淀粉是怎么调的,是用开水,还是冷水 在约束最优化中,用单纯形法解线性规划的matlab程序 土豆粉需要煮多久熟? 再吃粉丝前,粉丝需要泡成哪种程度? 单纯形法的C程序 急急急!!高分!!编写程序实现利用单纯形法求解线性规划问题 土豆拌粉丝凉菜的做法 求matlab单纯型方法求解线性规划代码 急求运筹学单纯型法的matlab程序代码!! 土豆粉怎么泡有柔劲好吃 单纯形法程序用法 泡粉丝用热水还是冷水 给一对龙凤胎起名字。谢啦! 龙凤胎用成语起名字好吗?有哪些成语适合用来给龙凤胎取名呀 刘姓龙凤胎取什么名字好? 黑色衣服沾了漂白水为什么会变红? 黑衣服被漂红了,怎么办? 黑裤子上弄了漂白水掉色后变成一块块红色怎么办? 黑色衣服被漂渍液漂成了红色咋办? 黑色的衣领被漂白剂 漂成红色了怎么样才能补救回来? 黑色衣服上沾到到了 漂白剂的水 变成红色了,怎么恢复黑色啊??、 iphone4s可以玩王者荣耀吗? 一般的苹果4s能不能玩王者荣耀? 为什么用苹果4S玩《王者荣耀》老是闪退,有什么办法解决? 为什么叫蔡依林“G奶天后” 杨幂多大罩杯 一般的苹果4s可以玩王者荣耀吗? 苹果4s 可以玩《王者荣耀》吗? 蔡依林真的有G奶吗?是隆过的吗? iphone4s为什么玩王者荣耀会卡 为什么苹果4S玩王者荣耀总是闪退有什么办法吗 iPhone 4可以玩王者荣耀吗?
Top