这个例子展示了如何找到悬挂在两个锚定点上的质量弹簧系统的平衡位置。弹簧具有分段线性张力。该系统包括gydF4y2Ba 二维质量。质量gydF4y2Ba 它与弹簧相连gydF4y2Ba 和gydF4y2Ba 。弹簧gydF4y2Ba 和gydF4y2Ba 也连接到单独的锚点。在这种情况下,弹簧的零力长度gydF4y2Ba 是一个正长度gydF4y2Ba ,弹簧产生力gydF4y2Ba 当拉伸到一定长度时gydF4y2Ba 。问题是找到质量的最小势能配置,势能来自于重力和非线性弹簧的拉伸。平衡发生在最小能量位型。gydF4y2Ba
此图显示了悬挂在两个锚定点上的五个弹簧和四个质量块。gydF4y2Ba
质量的势能gydF4y2Ba 在高处gydF4y2Ba 是gydF4y2Ba ,在那里gydF4y2Ba 是地球上的引力常数。同样,具有弹簧常数的理想线性弹簧的势能gydF4y2Ba 拉长gydF4y2Ba 是gydF4y2Ba 。目前的模型是,弹簧不是理想的,但有一个非零的静止长度gydF4y2Ba 。gydF4y2Ba
这个例子的数学基础来自Lobo, Vandenberg, Boyd和LebretgydF4y2Ba[1]gydF4y2Ba。有关此示例的基于问题的版本,请参阅gydF4y2Ba基于锥规划的分段线性质量弹簧系统能量最小化问题gydF4y2Ba。gydF4y2Ba
质量的位置gydF4y2Ba 是gydF4y2Ba ,具有水平坐标gydF4y2Ba 和垂直坐标gydF4y2Ba 。质量gydF4y2Ba 由于重力的作用,具有势能gydF4y2Ba 。弹簧的势能gydF4y2Ba 是gydF4y2Ba ,在那里gydF4y2Ba 是质量之间的弹簧长度吗gydF4y2Ba 和质量gydF4y2Ba .以锚固点1为质量0的位置,锚固点2为质量的位置gydF4y2Ba .前面的能量计算表明,弹簧的势能gydF4y2Ba 是gydF4y2Ba
。gydF4y2Ba
将这个势能问题重新表述为二阶锥问题需要引入一些新的变量,如Lobo中所述gydF4y2Ba[1]gydF4y2Ba. 创建变量gydF4y2Ba 等于这一项的平方根gydF4y2Ba 。gydF4y2Ba
让gydF4y2Ba 是单位列向量gydF4y2Ba . 然后gydF4y2Ba .问题变成了gydF4y2Ba
(1)gydF4y2Ba
现在考虑gydF4y2Ba 作为一个自由向量变量,不由前面的方程给出gydF4y2Ba 。结合两者的关系gydF4y2Ba 和gydF4y2Ba 在新的圆锥约束集中gydF4y2Ba
(2)gydF4y2Ba
目标函数的变量还不是线性的,正如所要求的gydF4y2BaconeproggydF4y2Ba
. 引入一个新的标量变量gydF4y2Ba
。注意这个不等式gydF4y2Ba
这相当于不平等gydF4y2Ba
。(3)gydF4y2Ba
现在的问题是最小化gydF4y2Ba
(4)gydF4y2Ba
受圆锥约束的gydF4y2Ba 和gydF4y2Ba 在(2)中列出,以及附加的圆锥体约束(3)。圆锥约束(3)确保gydF4y2Ba 因此,问题(4)等同于问题(1)。gydF4y2Ba
问题(4)中的目标函数和锥约束适用于gydF4y2BaconeproggydF4y2Ba
。gydF4y2Ba
定义六个弹簧常数gydF4y2Ba ,六个长度常数gydF4y2Ba 和五个群众gydF4y2Ba 。gydF4y2Ba
k = 40 * (1:6);L = [1 1/2 1 2 1/2];M = [2 1 3 2 1];gydF4y2Ba
定义地球上近似的引力常数gydF4y2Ba 。gydF4y2Ba
g=9.807;gydF4y2Ba
优化的变量是10个组成部分gydF4y2Ba
向量,即gydF4y2Ba
向量,gydF4y2Ba
变量,让我们gydF4y2Ba五gydF4y2Ba
是包含所有这些变量的向量。gydF4y2Ba
(v (1), (2))gydF4y2Ba
对应于二维变量gydF4y2Ba
。gydF4y2Ba
(v (3), (4))gydF4y2Ba
对应于二维变量gydF4y2Ba
。gydF4y2Ba
(v (5), (6)]gydF4y2Ba
对应于二维变量gydF4y2Ba
。gydF4y2Ba
[v(7)、v(8)]gydF4y2Ba
对应于二维变量gydF4y2Ba
。gydF4y2Ba
(v(9)、(10))gydF4y2Ba
对应于二维变量gydF4y2Ba
。gydF4y2Ba
[v(11):v(16)]gydF4y2Ba
对应于6-D向量gydF4y2Ba
。gydF4y2Ba
v (17)gydF4y2Ba
对应标量变量gydF4y2Ba
。gydF4y2Ba
使用这些变量,创建相应的目标函数向量gydF4y2BafgydF4y2Ba
。gydF4y2Ba
f = 0(大小(m));f = [f, g * m];f = f (:);f = [f; 0(长度(k) + 1, - 1));f(结束)= 1;gydF4y2Ba
创建与体量(2)之间的弹簧相对应的圆锥体约束gydF4y2Ba
。gydF4y2Ba
这个gydF4y2BaconeproggydF4y2Ba
解算器对变量向量使用圆锥体约束gydF4y2Ba
在形式上gydF4y2Ba
。gydF4y2Ba
在下面的代码中gydF4y2BaAscgydF4y2Ba
矩阵表示gydF4y2Ba
,gydF4y2Ba理学士gydF4y2Ba
=gydF4y2Ba(0, 0)gydF4y2Ba
.锥变量gydF4y2BadscgydF4y2Ba
=gydF4y2Ba
和相应的gydF4y2Ba伽马射线gydF4y2Ba
=gydF4y2Ba
d = 0(1、长度(f));Asc = d;Asc([1 3]) = [1 -1];A2 = circshift (Asc, 1);Asc = (Asc; A2);毫升=长度(m);数据库= 2 * ml;二元同步通信= (0,0);gydF4y2Ba对于gydF4y2Bai=2:ml伽马=-l(i);dsc=d;dsc(dbase+i)=sqrt(2/k(i));conecons(i)=二阶锥(Asc、bsc、dsc、gamma);Asc=循环移位(Asc,2,2);gydF4y2Ba结束gydF4y2Ba
通过使用端部质量位置的定位点,创建与端部质量和定位点之间的弹簧相对应的圆锥体约束,如前一代码所示。gydF4y2Ba
x0 = (0; 5);xn = (5; 4);Asc = 0(大小(Asc));Asc (1 (dbase-1)) = 1;Asc(数据库)= 1;二元同步通信= xn;γ= - l (ml);dsc = d;Dsc (dbase + ml) =√(2/k(ml));conecons(ml + 1) = second dordercone(Asc,bsc,dsc,gamma); Asc = zeros(size(Asc)); Asc(1,1) = 1; Asc(2,2) = 1; bsc = x0; gamma = -l(1); dsc = d; dsc(dbase + 1) = sqrt(2/k(1)); conecons(1) = secondordercone(Asc,bsc,dsc,gamma);
创建圆锥约束(3)对应的gydF4y2Ba 变量gydF4y2Ba
通过创建矩阵gydF4y2BaAscgydF4y2Ba
哪个,乘以gydF4y2Ba五gydF4y2Ba
向量,给出向量gydF4y2Ba
。这个gydF4y2Ba理学士gydF4y2Ba
向量对应于这一项中的常数1gydF4y2Ba
。这个gydF4y2BadscgydF4y2Ba
向量,乘以gydF4y2Ba五gydF4y2Ba
,返回gydF4y2Ba
. 及gydF4y2Ba伽马射线gydF4y2Ba
=gydF4y2Ba
。gydF4y2Ba
Asc=2*眼(长度(f));Asc(1:dbase,:)=[];Asc(结束,结束)=-1;bsc=零(大小(Asc,1),1);bsc(端)=-1;dsc=d;dsc(end)=1;伽马=-1;conecons(ml+2)=二阶锥(Asc、bsc、dsc、gamma);gydF4y2Ba
最后,创建与gydF4y2Ba 和gydF4y2Ba 变量。gydF4y2Ba
lb=-inf(大小(f));lb(dbase+1:end)=0;gydF4y2Ba
问题公式已完成。请致电解决问题gydF4y2BaconeproggydF4y2Ba
。gydF4y2Ba
[v,fval,exitflag,output]=coneprog(f,conecons,[],[],[],[],[],[]磅);gydF4y2Ba
找到了最优解。gydF4y2Ba
画出解决点和锚点。gydF4y2Ba
页= v (1:2 * ml);页=重塑(pp、2、[]);页= pp ';情节(pp(: 1)、pp (:, 2),gydF4y2Ba“罗”gydF4y2Ba)举行gydF4y2Ba在gydF4y2Baxx=[x0,xn]';地块(xx(:,1),xx(:,2),gydF4y2Ba“ks”gydF4y2Ba)xlim([x0(1)-0.5,xn(1)+0.5])ylim([min(pp(:,2))-0.5,max(x0(2),xn(2))+0.5])xxx=[x0';pp;xn'];地块(xxx(:,1),xxx(:,2),gydF4y2Ba“b——”gydF4y2Ba)传奇(gydF4y2Ba“计算点”gydF4y2Ba,gydF4y2Ba“锚定点”gydF4y2Ba,gydF4y2Ba“泉”gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最好的”gydF4y2Ba)举行gydF4y2Ba从gydF4y2Ba
您可以更改参数的值gydF4y2BamgydF4y2Ba
,gydF4y2BalgydF4y2Ba
,gydF4y2BakgydF4y2Ba
查看它们对解决方案的影响。您还可以更改质量数;代码从您提供的数据中获取质量数。gydF4y2Ba
[1] 二阶锥规划的应用gydF4y2Ba线性代数及其应用gydF4y2Ba284年,没有。1-3(1998年11月):193-228。gydF4y2Bahttps://doi.org/10.1016/s0024 - 3795 (98) 10032 - 0gydF4y2Ba
。gydF4y2Ba
coneproggydF4y2Ba
|gydF4y2BasecondorderconegydF4y2Ba