QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 7655|回复: 16
打印 上一主题 下一主题

求助各位高手,这一lingo问题关系我的下半生幸福。。。

[复制链接]
字体大小: 正常 放大
guet71353 实名认证       

2

主题

3

听众

19

积分

升级  14.74%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-13 18:42 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
一个超简单的线性规划问题的表述,如下:

给出的六个数与指定的数值(如100)之间的差值最小,且差值为非负数(即最小只能是0),六个数有大小限制(已给出),且后一个数一定大于前一个数,没有重复值,且都为整数,不允许出现小数。

我按照要求构建数学模型:


min fx=x1+x2+x3+x4+x5+x6-100
st.
1<=x1<=20
2<=x2<=28
3<=x3<=29
5<=x4<=31
7<=x5<=32
11<=x6<=33
x2-x1>0
x3-x2>0
x4-x3>0
x5-x4>0
x6-x5>0
x1+x2+x3+x4+x5+x6-100>=0
x1,x2,x3,x4,x5,x6属于整数



由表述来看,该问题肯定有多个最优解,比如1,6,12,18,31,32和2,5,12,18,31,32就是解集之一。

但我刚学lingo,不会编写上面的语句,希望能在lingo中列出全部符合要求的X的值。。。

顺便说一句,用的是9.0版的,望高手给出编程方案,谢谢:)
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

0

主题

3

听众

49

积分

升级  46.32%

  • TA的每日心情
    开心
    2011-9-10 08:26
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    群组数学建摸协会

    回复

    使用道具 举报

    buct 实名认证       

    26

    主题

    3

    听众

    1156

    积分

  • TA的每日心情
    开心
    2018-10-14 09:54
  • 签到天数: 2 天

    [LV.1]初来乍到

    新人进步奖 发帖功臣

    群组数学建模

    群组数学趣味、游戏、IQ等

    群组我行我数

    群组Mathematica研究小组

    群组文献查询

    回复

    使用道具 举报

    24

    主题

    5

    听众

    1034

    积分

    升级  3.4%

  • TA的每日心情
    奋斗
    2014-4-16 09:54
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    发帖功臣 新人进步奖

    下面这段LINGO代码可以求出你所述问题的一个最优解:
    model:
    min=x1+x2+x3+x4+x5+x6-100;
               1<=x1;
               x1<=20;
               2<=x2;
               x2<=28;
                       3<=x3;
               x3<=29;
                       5<=x4;
               x4<=31;
                       7<=x5;
               x5<=32;
                       11<=x6;
               x6<=33;
                       x2-x1>0;
                       x3-x2>0;
               x4-x3>0;
               x5-x4>0;
               x6-x5>0;
                       x1+x2+x3+x4+x5+x6-100>=0;
    @gin(x1);
    @gin(x2);
    @gin(x3);
    @gin(x4);
    @gin(x5);
    @gin(x6);
    end
    至于求多组最优解,恕本人才疏学浅,希望有高人能帮你解决!
    已有 1 人评分体力 收起 理由
    厚积薄发 + 5

    总评分: 体力 + 5   查看全部评分

    回复

    使用道具 举报

    guet71353 实名认证       

    2

    主题

    3

    听众

    19

    积分

    升级  14.74%

    该用户从未签到

    谢谢楼上的朋友,但是结果中有重复的数呢。。。

    Global optimal solution found.
       Objective value:                              0.000000
       Extended solver steps:                               0
       Total solver iterations:                             3


                           Variable           Value        Reduced Cost
                                 X1        2.000000            1.000000
                                 X2        2.000000            1.000000
                                 X3        3.000000            1.000000
                                 X4        29.00000            1.000000
                                 X5        32.00000            1.000000
                                 X6        32.00000            1.000000

    这是程序结果。。。2,2,29,32,32有重复的2,32两个数
    回复

    使用道具 举报

    guet71353 实名认证       

    2

    主题

    3

    听众

    19

    积分

    升级  14.74%

    该用户从未签到

    我根据上面朋友的启发修改了下,但只得到一组解,郁闷中。。。

    程序如下:


    min=x1+x2+x3+x4+x5-100;
    x1>=1;
    x1<=5;
    x2>=6;
    x2<=12;
    x3>=18;
    x3<=22;
    x4>=23;
    x4<=28;
    x5>=30;
    x5<=35;
    x1+x2+x3+x4+x5-100>=0;
    x2-x1>0;
    x3-x2>0;
    x4-x3>0;
    x5-x4>0;
    x6-x5>0;
    @gin(x1);
    @gin(x2);
    @gin(x3);
    @gin(x4);
    @gin(x5);
    @gin(x6);


    Variable           Value        Reduced Cost
                                 X1        5.000000            1.000000
                                 X2        12.00000            1.000000
                                 X3        22.00000            1.000000
                                 X4        28.00000            1.000000
                                 X5        33.00000            1.000000
                                 X6        35.00000            0.000000
    回复

    使用道具 举报

    24

    主题

    5

    听众

    1034

    积分

    升级  3.4%

  • TA的每日心情
    奋斗
    2014-4-16 09:54
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    发帖功臣 新人进步奖

    回复

    使用道具 举报

    sdfos 实名认证       

    0

    主题

    2

    听众

    704

    积分

    升级  26%

    该用户从未签到

    群组我行我数

    群组LINGO

    群组文献查询

    群组2010MCM

    群组电子科大数学建模交流群

    本帖最后由 sdfos 于 2010-10-15 00:25 编辑

    不会解线性规划,用穷举法试了一下,楼主看看行不行吧
    x1=[1:20];
    x2=[2:28];
    x3=[3:29];
    x4=[5:31];
    x5=[7:32];
    x6=[11:33];
    R=zeros(3000,6);
    p=1;
    q=1;
    for i=1:20
        for j=1:27
            for k=1:27
                for l=1:27
                    for m=1:26
                        for n=1:23

                        if x1(i)<x2(j)&&x2(j)<x3(k)&&x3(k)<x4(l)&&x4(l)<x5(m)&&x5(m)<x6(n)&&x1(i)+x2(j)+x3(k)+x4(l)+x5(m)+x6(n)-100==0
                        s(p)=x1(i)+x2(j)+x3(k)+x4(l)+x5(m)+x6(n)-100;
                        R(q,=[x1(i) x2(j) x3(k) x4(l) x5(m) x6(n)];
                        q=q+1;
                        p=p+1;
                        
                    end
                    end
                    end
                end
            end
        end
    end

    前10组结果

    1 2 16 26 27 28
    1 2 17 25 27 28
    1 2 18 24 27 28
    1 2 18 25 26 28
    1 2 19 23 27 28
    1 2 19 24 26 28
    1 2 19 25 26 27
    1 2 20 22 27 28
    1 2 20 23 26 28
    1 2 20 24 25 28
    回复

    使用道具 举报

    guet71353 实名认证       

    2

    主题

    3

    听众

    19

    积分

    升级  14.74%

    该用户从未签到

    回复

    使用道具 举报

    guet71353 实名认证       

    2

    主题

    3

    听众

    19

    积分

    升级  14.74%

    该用户从未签到

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-8-20 02:40 , Processed in 0.669958 second(s), 101 queries .

    回顶部