考虑将电子放在一个导电体中的静电问题。电子将以最小的总势能的方式排列自己,受体内的限制。所有电子至少在身体的边界上。电子是不可区分的,所以问题没有。唯一最小值(在一个溶液中排列电子会得到另一个有效的溶液)。这个例子的灵感来自Dolan、Moré和Munson[1]。 本例中的目标和非线性约束函数均为 本例涉及由以下不等式定义的导电体。对于每个带坐标的电子
这些约束形成一个球体上看起来像金字塔的实体。 地物的上下表面之间存在微小间隙。该间隙是用于创建地物的常规绘图例程的产物。该例程会删除一个曲面上与另一个曲面接触的任何矩形面片。 这个问题有二十个电子。约束条件给出了每个电子的界限 该问题有两种类型的约束。第一种是球形约束,是每个电子各自的一个简单多项式不等式。定义此球形约束。 前面的constraint命令创建一个包含十个约束的向量。使用 问题中的第二类约束是线性约束。您可以用不同的方式表示线性约束。例如,您可以使用 目标函数是系统的势能,是每个电子对距离倒数的和:
将目标函数定义为优化表达式。为了获得良好的性能,请以矢量化的方式编写目标函数。看 在以[0,0,–1]为中心的半径为1/2的球体上随机分布电子,开始优化。 打电话解决问题 将溶液绘制为导电体上的点。 电子在约束边界上分布相当均匀。许多电子位于边缘和棱锥点上。 [1] Dolan,Elizabeth D.,Jorge J.Moré和Todd S.Munson.“使用COPS 3.0对优化软件进行基准测试”,《阿贡国家实验室技术报告ANL/MCS-TM-273》,2004年2月。解决
最大函数求值
问题几何
[X,Y]=meshgrid(-1:01:1);Z1=-abs(X)-abs(Y);Z2=-1-sqrt(1-X.^2-Y.^2);Z2=实(Z2);W1=Z1;W2=Z2;W1(Z1
定义问题变量
N=20;x=optimvar(
定义约束条件
elecprob.Constraints.spherec=(x.^2+y.^2+(z+1)。^2)<=1;
显示
显示(elecprob.Constraints.spherec)
((x.^2+y.^2)+(z+1)。^2)<=arg_-RHS其中:arg2=1;arg1=arg2(一(1,20));arg_-RHS=arg1(:);
防抱死制动系统
fcn2optimexpr
elecprob.Constraints.plane1=z<=-x-y;elecprob.Constraints.plane2=z<=-x+y;elecprob.Constraints.plane3=z<=x-y;elecprob.Constraints.plane4=z<=x+y;
定义目标函数
能量=optimexpr(1);
运行优化
rng
解决
[sol,fval,exitflag,output]=solve(elecprob,init)
使用fmincon解决问题。找到满足约束条件的局部极小值。优化已完成,因为目标函数在可行方向上不递减,在最优性公差值范围内,且约束满足在约束公差值范围内。
溶胶=
fval=163.0099
exitflag=最优解
输出=
视图解决方案
图(手)3(溶胶x、溶胶y、溶胶z、,
参考文献
相关话题