徐帆 发表于 2003-1-15 11:03

[求助]一道优化的题目,除了库恩塔克的解法,有些不明白,欢迎指教

<P>
<TABLE blogpost" cellSpacing=0 width="100%" border=0>

<TR>
<TD class=ellipse><STRONG>再求数学高人</STRONG></TD></TR>
<TR>
<TD class=bvh8><STRONG></STRONG></TD></TR>
<TR>
<TD>
<DIV>
<P>用分段线性函数近似求解非线性规划<FONT face="Times New Roman">(</FONT>不知道标准数学表达法是怎样的<FONT face="Times New Roman">)</FONT>,</P>
<P><FONT face="Times New Roman">Min x<SUB>1</SUB><SUP>2</SUP>-4x<SUB>1</SUB>-2x<SUB>2</SUB></FONT></P>
<P><FONT face="Times New Roman">s.t.不等式组条件如下</FONT></P>
<P ><FONT face="Times New Roman"></FONT><FONT face="Times New Roman">X1+X2&lt;=4</FONT></P>
<P ><FONT face="Times New Roman">2X1+X2&lt;=5</FONT></P>
<P ><FONT face="Times New Roman">-X1+4X2&gt;=2</FONT></P>
<P ><FONT face="Times New Roman">X1&gt;=0    X2&gt;=0</FONT></P>
<P>【方法一】<FONT face="Times New Roman">:</FONT></P>
<P>因目标函数中变量是可分离的,所以用替代变量<FONT face="Times New Roman">y</FONT>代替二次方的变量<FONT face="Times New Roman">x<SUB>1</SUB><SUP>2</SUP></FONT>,将原目标表示成一次函数,以便于用线性(单纯形)方法求解。</P>
<P>首先给定一个取值的区间,设0≤<FONT face="Times New Roman">x1</FONT>≤<FONT face="Times New Roman">2.5, </FONT>选择一系列<FONT face="Times New Roman">x1</FONT>的值,比如<FONT face="Times New Roman">0</FONT>,<FONT face="Times New Roman">1</FONT>,<FONT face="Times New Roman">2 </FONT>和<FONT face="Times New Roman">2.5, </FONT>计算对应的函数值<FONT face="Times New Roman">y</FONT>如下<FONT face="Times New Roman">:</FONT></P>
<P>点<FONT face="Times New Roman">O   x1=0    y= x<SUB>1</SUB><SUP>2</SUP>=0</FONT></P>
<P>点<FONT face="Times New Roman">A   x1=1    y= x<SUB>1</SUB><SUP>2</SUP>=1</FONT></P>
<P>点<FONT face="Times New Roman">B   x1=2    y= x<SUB>1</SUB><SUP>2</SUP>=4</FONT></P>
<P>点<FONT face="Times New Roman">C   x1=2.5   y= x<SUB>1</SUB><SUP>2</SUP>=6.25</FONT></P>
<P>如图1<FONT face="Times New Roman">:</FONT></P>
<P><FONT face="Times New Roman"></FONT> </P>
<P><FONT face="Times New Roman"></FONT></P>
<P>用分段的线段<FONT face="Times New Roman">OA, AB, BC</FONT>近似代替<FONT face="Times New Roman">y=x<SUP>2, </SUP></FONT>原规划表达为线性规划如下<FONT face="Times New Roman">:</FONT></P>
<P><FONT face="Times New Roman">Min Y-4X1-2X2</FONT></P>
<P><FONT face="Times New Roman">s.t.</FONT></P>
<P ><FONT face="Times New Roman"></FONT><FONT face="Times New Roman">X1+X2&lt;=4</FONT></P>
<P ><FONT face="Times New Roman">2X1+X2&lt;=5</FONT></P>
<P ><FONT face="Times New Roman">-X1+4X2&gt;=2</FONT></P>
<P ><FONT face="Times New Roman">X1-Y&lt;=0</FONT></P>
<P ><FONT face="Times New Roman">3X1-Y&lt;=2</FONT></P>
<P ><FONT face="Times New Roman">4.5X1-Y&lt;=5</FONT></P>
<P ><FONT face="Times New Roman">X1&gt;=0    X2&gt;=0</FONT></P>
<P>至此没有问题<FONT face="Times New Roman">, </FONT>但解下来该怎样解就不知道了<FONT face="Times New Roman">.</FONT></P>
<P><FONT face="Times New Roman"> </FONT></P>
<P>【方法二】<FONT face="Times New Roman">:</FONT></P>
<P>取近似值的方法不一样,</P>
<P><FONT face="Times New Roman">X1=0p1+1P2+2P3+2.5p4</FONT></P>
<P><FONT face="Times New Roman">Y =0p1+1*p2+4*p3+6.25*P4</FONT></P>
<P><FONT face="Times New Roman">1 = p1+p2+p3+p4</FONT></P>
<P><FONT face="Times New Roman"></FONT></P>
<P>原规划可表示如下<FONT face="Times New Roman">:</FONT></P>
<P><FONT face="Times New Roman">Min Y-4X1-2X2</FONT></P>
<P><FONT face="Times New Roman">s.t.</FONT></P>
<P ><FONT face="Times New Roman"></FONT><FONT face="Times New Roman">X1+X2&lt;=4</FONT></P>
<P ><FONT face="Times New Roman">2X1+X2&lt;=5</FONT></P>
<P ><FONT face="Times New Roman">-X1+4X2&gt;=2</FONT></P>
<P ><FONT face="Times New Roman">-X1+P2+2P3+2.5P4=0</FONT></P>
<P ><FONT face="Times New Roman">-Y+P2+4P3+6.25P4=0</FONT></P>
<P ><FONT face="Times New Roman">P1+P2+P3+P4=1</FONT></P>
<P ><FONT face="Times New Roman">Y,X1,X2,P1,P2,P3,P4&gt;=0</FONT></P>
<P>同样的问题<FONT face="Times New Roman">,</FONT>到这里就不知道下面怎么解了<FONT face="Times New Roman">.</FONT></P>
<P><FONT face="Times New Roman">图2</FONT></P>
<P><FONT face="Times New Roman"></FONT> </P>
<P>原规划<FONT face="Arial Black, Geneva, Arial, Sans-serif" color=#ff0000><STRONG>用</STRONG></FONT><FONT color=#ff0000><FONT face="Arial Black, Geneva, Arial, Sans-serif"><STRONG>Kuhn-Tucker方法可解, 但老师非要求用上面方法解, </STRONG></FONT></FONT>所以请不吝赐教<FONT face="Times New Roman">, </FONT>谢谢<FONT face="Times New Roman">!</FONT></P>


<P><FONT size=4><STRONG>我用kuhn tucker解得答案为  min=-9,  x1=1, x2=3,验算觉得答案是对的,可还是不是老师要求的方法</STRONG></FONT></P>
</DIV></TD></TR></TABLE></P><IMG src="http://http://storage.msn.com/x1paBBu00ipsl-n9SZJqeUVT4nv8-rrMjnYw9_-B0ityb-rHncAZt1_q36B-Bj63nzeglhbn3hfQNnls3UfyteTI3cKkVHqSwBZiE9b-twbpMGWrDwb2xD4OiNfYFUdk0Li7m3ifslZnDzPFjgnT9foQg" border=0><IMG src="http://storage.msn.com/x1paBBu00ipsl-n9SZJqeUVT4nv8-rrMjnYw9_-B0ityb96WDD9QYVSKJ_K4d0SNxuGJZYWxptZE22es46q6rnXxwtD00UPBG6vbxdZjx4zVNNvJKazZs9iGlLN8-4On4MQ4yXN6hLiHKvqTts0M5LZRw" border=0><IMG src="http://storage.msn.com/x1paBBu00ipsl-n9SZJqeUVT4nv8-rrMjnYw9_-B0ityb-rHncAZt1_q36B-Bj63nzeglhbn3hfQNnls3UfyteTI3cKkVHqSwBZiE9b-twbpMGWrDwb2xD4OiNfYFUdk0Li7m3ifslZnDzPFjgnT9foQg" border=0>

madio 发表于 2003-1-16 14:55

你不断地加密分点不就可以使得近似成的线性规划的可行域与原先非线性规划的可行域不断接近吗?细分到一定程度就可以认为差不多了呀!这样相当于增加了约束条件的个数来换取目标函数的简化!

徐帆 发表于 2005-12-29 18:04

这些我都明白,就是到了最后,不知道该怎么解这个不等式组了

madio 发表于 2005-12-29 22:37

<P>晕,大型线性不等式的求解问题至今好像没有什么好的办法呀!</P>

徐帆 发表于 2005-12-29 22:45

<P><FONT face="Times New Roman">不用大型的,就一般的,比如这一题,算三个点就好了,</FONT></P>
<P><FONT face="Times New Roman">如下了,该怎么解这个不等式,我在国内是英文专业,现在上物流master,碰到这种玩意实在不知道从哪里下手了,谢谢拉</FONT></P>
<P><FONT face="Times New Roman">Min Y-4X1-2X2</FONT> </P>
<P><FONT face="Times New Roman">s.t.</FONT> <BR></P>
<P><FONT face="Times New Roman"></FONT><FONT face="Times New Roman">X1+X2&lt;=4</FONT></P>
<P><FONT face="Times New Roman">2X1+X2&lt;=5</FONT></P>
<P><FONT face="Times New Roman">-X1+4X2&gt;=2</FONT></P>
<P><FONT face="Times New Roman">X1-Y&lt;=0</FONT></P>
<P><FONT face="Times New Roman">3X1-Y&lt;=2</FONT></P>
<P><FONT face="Times New Roman">4.5X1-Y&lt;=5</FONT></P>
<P><FONT face="Times New Roman">X1&gt;=0    X2&gt;=0</FONT></P>

madio 发表于 2005-12-29 22:55

好在是三维的向量不等式,你把每个不等式看成三维空间中的半平面,将这些半空间画出图来然后做交集就可以了!

chenyugf 发表于 2006-3-13 15:58

唉,都是高手,就我不是

yjshappy 发表于 2006-4-23 02:23

<p>没看明白哦。。。。。。</p>

youshanglanyu 发表于 2007-1-14 23:34

还没看懂
页: [1]
查看完整版本: [求助]一道优化的题目,除了库恩塔克的解法,有些不明白,欢迎指教