matlab智能算法pdf
你好
像这样的求最小值,可以用很多算法,可以用命令窗口编程,或者利用优化工具箱。对于初学者,可以利用optimization toolbox里面算法,只要自己写一个目标函数就可以了。
一般的有约束多变量函数都可以通过fmincon函数求解得到,但是如果初始值选取不恰当也可以可以陷入局部最优。全局最优搜索能力比较强的可能属智能算法了,如遗传算法等等下面我采用fmincon函数尝试求解:
目标函数写好好,保存为funmint.m文件,函数如下;
functionZ=funmint(x)
x1=x(1);
x2=x(2);
x3=x(3);
x4=x(4);
S1=x(5);
S2=x(6);
eg=64.11-0.043-0.49*x2-0.06*x3-0.075*x4-3.258e-4*x1*x2+9.712e-5*x1*x3...
+2.781e-4*x1*x4-4.738e-5*x2*x3-1.212e-3*x2+6.053e-4*x3*x4+...
7.775e-4*x1^2+1.125e-3*x2^2-8.665e-4*x3^2+5.89e-3*x4^2;
sd=-6.02953+0.03583*x1+0.067595*x2-2.90115e-3*x3-0.053463*x4-1.7325e-4*x1*x2+...
1.1525e-4*x1*x3-7.4375e-5*x1*x4-6.3375e-5*x2*x3+4.03125e-4*x2*x4-...
3.16562e-4*x3*x4+3.625e-6*x1^2-1.07375e-4*x2^2-2.68437e-5*x3^2-3.27344e-4*x4^2;
Z=sd+1e7*abs(-eg+0.0518*sd+S1)+1e7*abs(0.1-eg-0.0518*sd+S2);
在命令窗口中输入下面这些求解代码:
clear
lb=[60235402100];
ub=[802558029InfInf];
x0=[7024560251010];
options=optimset('Algorithm','active-set');
[x,fval]=fmincon(@funmint,x0,[],[],[],[],lb,ub,[],options)
可以得到一个最小值,以及对应的6个变量如下:
x=[62.9860 244.9435 74.5278 21.3001 1.8670 2.0691]
最小值为:
fval=3.4326
当然你也可以换用其他函数,只要把fmincon换了就可以。优化函数结构都差不多。
希望对你有帮助!
❷ 什么是智能优化算法
群体智能优化算法是一类基于概率的随机搜索进化算法,各个算法之间存在结构、研究内容、计算方法等具有较大的相似性。因此,群体智能优化算法可以建立一个基本的理论框架模式:
Step1:设置参数,初始化种群;
Step2:生成一组解,计算其适应值;
Step3:由个体最有适应着,通过比较得到群体最优适应值;
Step4:判断终止条件示否满足?如果满足,结束迭代;否则,转向Step2;
各个群体智能算法之间最大不同在于算法更新规则上,有基于模拟群居生物运动步长更新的(如PSO,AFSA与SFLA),也有根据某种算法机理设置更新规则(如ACO)。
(2)matlab智能算法pdf扩展阅读
优化算法有很多,经典算法包括:有线性规划,动态规划等;改进型局部搜索算法包括爬山法,最速下降法等,模拟退火、遗传算法以及禁忌搜索称作指导性搜索法。而神经网络,混沌搜索则属于系统动态演化方法。
优化思想里面经常提到邻域函数,它的作用是指出如何由当前解得到一个(组)新解。其具体实现方式要根据具体问题分析来定。
❸ 您好,请问能否发一份完整的《图论算法及其MATLAB实现pdf》 感谢!