数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
楼主: 欧阳天浪

用料最省问题!!!!

[复制链接]
发表于 2004-6-30 08:08:55 | 显示全部楼层
<>从运筹学考虑可以用列生成法</P><>另外遗传算法也很有效,不过编码比较困难,如果谁有需要,可以在这里留言</P>
发表于 2004-7-1 05:37:43 | 显示全部楼层
<>我现在有课程设计,不知道如何下手</P><>1.有初始可行解的单纯型法   2.无初始可行解的单纯型法 :.大M法       3.二阶段法                            </P><>3.运输问题的表上作业法       4.目标规划的单纯型法                             6.分支定界法</P><P>7.0—1整数规划的解法          8.指派问题                                               9.最短路算法</P><P>10.最大流算法                      11.最小费用最大流算法           </P><P>能告诉我怎么做,只要告诉其中三个就行了。</P><P>用MATLAB做可以吗?</P>
发表于 2004-7-2 11:23:59 | 显示全部楼层

原料最省

<FONT face=楷体_GB2312 size=4>
<><FONT color=#ff0000 size=3>我觉得上面的四种方案不全面,我个人觉得不仅仅只有四种,他应该是八种,即:</FONT></P>
<><FONT color=#ff0000 size=3>       2.9m    2.1m   1.5m   根数</FONT></P>
<><FONT color=#ff0000 size=3>一种:  2       0      1       x1</FONT></P>
<P><FONT color=#ff0000 size=3>二种:  0       3      0       x2</FONT></P>
<P><FONT color=#ff0000 size=3>三种:  0       0      4       x3</FONT></P>
<P><FONT color=#ff0000 size=3>四种:  1       0      3       x4</FONT></P>
<P><FONT color=#ff0000 size=3>五种:  1       1      1       x5</FONT></P>
<P><FONT color=#ff0000 size=3>六种:  1       2      0       x6</FONT></P>
<P><FONT color=#ff0000 size=3>七种:  0       2      2       x7</FONT></P>
<P><FONT color=#ff0000 size=3>八种:  0       1      3       x8</FONT></P>
<P><FONT color=#ff0000 size=3>因为原料要最省:</FONT></P>
<P><FONT color=#ff0000 size=3>    所以,所消耗的总根数要最少,即 </FONT></P>
<P><FONT color=#ff0000 size=3>     X=x1+x2+x3+x4+x5+x6+x7+x8 要最小。</FONT></P>
<P><FONT color=#ff0000 size=3>    并且,这八种切割方法要组合成一百套;</FONT></P>
<P><FONT color=#ff0000 size=3>     2*x1+x4+x5+x6=100                  //2.9m</FONT></P>
<P><FONT color=#ff0000 size=3>     3*x2+x5+2*x6+2*x7+x8=100           //2.1m</FONT></P>
<P><FONT color=#ff0000 size=3>     x1+4*x3+3*x4+x5+2*x7+3*x8=100      //1.5m</FONT></P>
<P><FONT color=#ff0000 size=3> 所以我们的数学方程组;</FONT></P>
<P><FONT color=#ff0000 size=3>    |-  X=x1+x2+x3+x4+x5+x6+x7+x8 </FONT></P>
<P><FONT color=#ff0000 size=3>    |   2*x1+x4+x5+x6=100                          </FONT></P>
<P><FONT color=#ff0000 size=3>   &lt;     3*x2+x5+2*x6+2*x7+x8=100                 </FONT></P>
<P><FONT color=#ff0000 size=3>    |  x1+4*x3+3*x4+x5+2*x7+3*x8=100      </FONT></P>
<P><FONT color=#ff0000 size=3>    |-  x1,x2,x3,x4,x5,x6,x7,x8&gt;=0    </FONT></P>
<P><FONT color=#ff0000 size=3>我们现在用MATLAB来求解:</FONT></P>
<P><FONT color=#ff0000 size=3>  (1)用M文件编一个求N套的最省值。</FONT></P>
<P><FONT color=#ff0000 size=3>       function   n=tao(x)</FONT></P>
<P><FONT color=#ff0000 size=3>       X=x1+x2+x3+x4+x5+x6+x7+x8 ;</FONT></P>
<P><FONT color=#ff0000 size=3>       a=[2 0 0 1 1 1 0 0;0 3 0 0 1 2 2 1;1 0 4 3 1 0 2 3];</FONT></P>
<P><FONT color=#ff0000 size=3>       b=[x;x;x];</FONT></P>
<P><FONT color=#ff0000 size=3>       vlb=0;</FONT></P>
<P><FONT color=#ff0000 size=3>       y=lp(X,a,b,vlb)</FONT></P>
<P><FONT color=#ff0000 size=3>       s=[1 1 1 1 1 1 1 1];</FONT></P>
<P><FONT color=#ff0000 size=3>       A=strvcat(s,a);</FONT></P>
<P><FONT color=#ff0000 size=3>       B=[y;x;x;x];</FONT></P>
<P><FONT color=#ff0000 size=3>       h=A/B;</FONT></P>
<P><FONT color=#ff0000 size=3>       disp("x1  x2  x3  x4  x5  x6  x7  x8")</FONT></P>
<P><FONT color=#ff0000 size=3>       h</FONT></P>
<P><FONT color=#ff0000 size=3>     注意:由于我在网吧!不能测试他的正确与否!</FONT></P>
<P><FONT color=#ff0000 size=3>  (2)在WORK中直接输入:</FONT></P>
<P><FONT color=#ff0000 size=3>       &gt;&gt;X=x1+x2+x3+x4+x5+x6+x7+x8 ;</FONT></P>
<P><FONT color=#ff0000 size=3>       &gt;&gt;a=[2 0 0 1 1 1 0 0;0 3 0 0 1 2 2 1;1 0 4 3 1 0 2 3];</FONT></P>
<P><FONT color=#ff0000 size=3>       &gt;&gt;b=[100;100;100];</FONT></P>
<P><FONT color=#ff0000 size=3>       &gt;&gt;vlb=0;</FONT></P>
<P><FONT color=#ff0000 size=3>       &gt;&gt;y=lp(X,a,b,vlb)</FONT></P>
<P><FONT color=#ff0000 size=3>       &gt;&gt;s=[1 1 1 1 1 1 1 1];</FONT></P>
<P><FONT color=#ff0000 size=3>       &gt;&gt;A=strvcat(s,a);</FONT></P>
<P><FONT color=#ff0000 size=3>       &gt;&gt;B=[y;100;100;100];   %“y”已经被求出,是个常数,不是变量。</FONT></P>
<P><FONT color=#ff0000 size=3>       &gt;&gt;h=A/B</FONT></P>
<P><FONT size=3>   </FONT></P></FONT>
发表于 2004-7-2 11:28:14 | 显示全部楼层
<><b>原料最省
</P></b><FONT face=楷体_GB2312 size=4><><FONT color=#ff0000 size=3>我觉得上面的四种方案不全面,我个人觉得不仅仅只有四种,他应该是八种,即:</FONT></P><><FONT color=#ff0000 size=3>       2.9m    2.1m   1.5m   根数</FONT></P><P><FONT color=#ff0000 size=3>一种:  2       0      1       x1</FONT></P><P><FONT color=#ff0000 size=3>二种:  0       3      0       x2</FONT></P><P><FONT color=#ff0000 size=3>三种:  0       0      4       x3</FONT></P><P><FONT color=#ff0000 size=3>四种:  1       0      3       x4</FONT></P><P><FONT color=#ff0000 size=3>五种:  1       1      1       x5</FONT></P><P><FONT color=#ff0000 size=3>六种:  1       2      0       x6</FONT></P><P><FONT color=#ff0000 size=3>七种:  0       2      2       x7</FONT></P><P><FONT color=#ff0000 size=3>八种:  0       1      3       x8</FONT></P><P><FONT color=#ff0000 size=3>因为原料要最省:</FONT></P><P><FONT color=#ff0000 size=3>    所以,所消耗的总根数要最少,即 </FONT></P><P><FONT color=#ff0000 size=3>     X=x1+x2+x3+x4+x5+x6+x7+x8 要最小。</FONT></P><P><FONT color=#ff0000 size=3>    并且,这八种切割方法要组合成一百套;</FONT></P><P><FONT color=#ff0000 size=3>     2*x1+x4+x5+x6=100                  //2.9m</FONT></P><P><FONT color=#ff0000 size=3>     3*x2+x5+2*x6+2*x7+x8=100           //2.1m</FONT></P><P><FONT color=#ff0000 size=3>     x1+4*x3+3*x4+x5+2*x7+3*x8=100      //1.5m</FONT></P><P><FONT color=#ff0000 size=3>所以我们的数学方程组;</FONT></P><P><FONT color=#ff0000 size=3>    |-  X=x1+x2+x3+x4+x5+x6+x7+x8 </FONT></P><P><FONT color=#ff0000 size=3>    |   2*x1+x4+x5+x6=100                          </FONT></P><P><FONT color=#ff0000 size=3>   &lt;     3*x2+x5+2*x6+2*x7+x8=100                 </FONT></P><P><FONT color=#ff0000 size=3>    |  x1+4*x3+3*x4+x5+2*x7+3*x8=100      </FONT></P><P><FONT color=#ff0000 size=3>    |-  x1,x2,x3,x4,x5,x6,x7,x8&gt;=0    </FONT></P><P><FONT color=#ff0000 size=3>我们现在用MATLAB来求解:</FONT></P><P><FONT color=#ff0000 size=3>  (1)用M文件编一个求N套的最省值。</FONT></P><P><FONT color=#ff0000 size=3>       function   n=tao(x)</FONT></P><P><FONT color=#ff0000 size=3>       X=x1+x2+x3+x4+x5+x6+x7+x8 ;</FONT></P><P><FONT color=#ff0000 size=3>       a=[2 0 0 1 1 1 0 0;0 3 0 0 1 2 2 1;1 0 4 3 1 0 2 3];</FONT></P><P><FONT color=#ff0000 size=3>       b=[x;x;x];</FONT></P><P><FONT color=#ff0000 size=3>       vlb=0;</FONT></P><P><FONT color=#ff0000 size=3>       y=lp(X,a,b,vlb)</FONT></P><P><FONT color=#ff0000 size=3>       s=[1 1 1 1 1 1 1 1];</FONT></P><P><FONT color=#ff0000 size=3>       A=strvcat(s,a);</FONT></P><P><FONT color=#ff0000 size=3>       B=[y;x;x;x];</FONT></P><P><FONT color=#ff0000 size=3>       h=A/B;</FONT></P><P><FONT color=#ff0000 size=3>       disp("x1  x2  x3  x4  x5  x6  x7  x8")</FONT></P><P><FONT color=#ff0000 size=3>       h</FONT></P><P><FONT color=#ff0000 size=3>     注意:由于我在网吧!不能测试他的正确与否!</FONT></P><P><FONT color=#ff0000 size=3>  (2)在WORK中直接输入:</FONT></P><P><FONT color=#ff0000 size=3>       &gt;&gt;X=x1+x2+x3+x4+x5+x6+x7+x8 ;</FONT></P><P><FONT color=#ff0000 size=3>       &gt;&gt;a=[2 0 0 1 1 1 0 0;0 3 0 0 1 2 2 1;1 0 4 3 1 0 2 3];</FONT></P><P><FONT color=#ff0000 size=3>       &gt;&gt;b=[100;100;100];</FONT></P><P><FONT color=#ff0000 size=3>       &gt;&gt;vlb=0;</FONT></P><P><FONT color=#ff0000 size=3>       &gt;&gt;y=lp(X,a,b,vlb)</FONT></P><P><FONT color=#ff0000 size=3>       &gt;&gt;s=[1 1 1 1 1 1 1 1];</FONT></P><P><FONT color=#ff0000 size=3>       &gt;&gt;A=strvcat(s,a);</FONT></P><P><FONT color=#ff0000 size=3>       &gt;&gt;B=[y;100;100;100];   %“y”已经被求出,是个常数,不是变量。</FONT></P><P><FONT color=#ff0000 size=3>       &gt;&gt;h=A/B</FONT></P></FONT>
发表于 2004-7-6 17:12:56 | 显示全部楼层
<>你错了,每一列元素之和应为1;1;1</P>
发表于 2004-7-6 17:18:21 | 显示全部楼层
sorry,i make a mistake.
发表于 2004-7-6 18:53:57 | 显示全部楼层
<><img src="http://www.shumo.com/bbs/Skins/Default/emot/em07.gif"></P><>我在网上找着一篇论文!!</P><>                                  每 秒 应 走 几步
摘要:本文建立了人在匀速行走时每秒走几步最省力的模型。通过两种不同的假设,给出了每秒所走步数的两个公式。
一、问题的提出
今天人们无论从事何种活动都讲究高效益,即希望所采取的策略使某个或某些指标达到
最优。人的行走也是如此,每秒应走几步最省力。走快了就会气踹吁吁,那么是不是走得越慢就越省力呢?生活经验告诉我们并非如此。那么对于不同的人应选择怎样的行走方式呢?
二、基本假设
假设一 人的行走可看作是匀速的,这基本符合常理;
假设二 人在行走时所做的功为抬高人体重心所需势能与两腿运动所需动能之和。(忽略空气阻力)
三、符号说明
l:腿长;   s:步长;       δ:人体重心升高;  v:行走速度(行速);
m:腿的质量;  M:人体质量;  g :重力加速度;p:两腿运动功能
                                    四、模型的建立
计算人在行走时人体重心的升高
重心的升高等于腿根部A位置的升高。如右图:
</P><P>两腿分开时,点A到地面的距离为            ,
</P><P>两腿重合时,点A到地面的距离为l .

</P><P>
所以,重心的升高为δ= l -             =</P><P>
</P><P>∵ s &lt; l  , l +             ≈2l .
</P><P>∴δ≈     .

计算人行走时两腿运动的功率
下面根据对人行走两种不同的假设来求人行走时两腿运动的功能。
模型一:将行走看作腿绕髋部的转动(假设腿是均匀的直杆),设行速为v,腿的质量
为m。
由物理学知识可以知道,两腿的转动动能u等于转动惯量J与转动角速度ω平方乘积
的一半。由假设 J = ml2 , ω=v / l .
          所以转动动能u = Jω2 = mv2 .
由于人在每行走一步所花时间为 t = ,
    所以两腿所做的功率为:

    p = = mv2×=      .

模型二:将行走看作脚的直线运动,而腿的质量集中在脚上。
   

    在此模型下,两腿的运动动能为:u = mv2
      所以转动功率p = = mv2×=      . </P><P>        五、模型的求解
模型一的求解:


假设人行走做功最小的行走频率(每秒的步数)为n,又每秒行走了 ns 的路程,速度 v = ns.
所以,两腿的运动动能为</P><P>人体重心抬高所需的势能为Mgδn = Mg   n.


</P><P>因而人行走所做的功为        + Mg   n.=</P><P>                                         

         
当</P><P>
模型二的求解:
两腿的运动动能为
</P><P>人体重心抬高所需的势能为Mgδn = Mg   n.
</P><P>因而人行走所做的功为</P><P>当</P><P>                           六、模型的评价与讨论
利用上面的模型解出的行走频率可以帮助我们了解人行走时影响做功大小的几个因素。从公式可看出行走频率与人体质量、腿的质量以及腿长有关,而与步长无关。
如果一个人质量较大而腿的质量相对较小,则他应该走快些;
如果一个人质量较小而腿的质量相对较大,则他应该走慢些;
如果一个人腿较长,则他应走慢些。
这都比较符合常理。
最后指出,这两个模型建立在一些不太精细的基础之上,行走频率的绝对表达式是无法得到的。</P><P><img src="http://www.shumo.com/bbs/Skins/Default/emot/em06.gif">         在google里找的</P><P>还有好多呀</P><P>只要下载!!!<img src="http://www.shumo.com/bbs/Skins/Default/emot/em08.gif"></P>
发表于 2004-7-9 01:19:24 | 显示全部楼层
[em04]
发表于 2004-7-9 01:45:45 | 显示全部楼层
我觉得他的想法不错,并且考虑的也很周到,只是有些不是很好
发表于 2004-7-19 17:01:27 | 显示全部楼层

我觉得应该还有一个约束条件

我决定还有一个约束条件,就是要三种钢管的数量要相等。我是新手,希望大家给一些意见,看看对不对
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-4-19 18:45 , Processed in 0.052908 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表