请选择 进入手机版 | 继续访问电脑版

QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 492|回复: 1

优化模型代码问题,大佬帮k'k

[复制链接]
字体大小: 正常 放大
Irving2        

1

主题

1

听众

5

积分

升级  0%

该用户从未签到

自我介绍
平平淡淡,没有任何突出
发表于 2021-1-5 15:27 |显示全部楼层
|招呼Ta 关注Ta
题目在此:
1.png
2.png


\(model:
sets:
fact/1..7/ : x,t,w,y,n;
endsets

data:
!i = 1,2,3,4,5,6,7;
!n = 8+7+9+6+6+4+8;
n = 8,7,9,6,6,4,8;
t = 48.7,52.0,61.3,72.0,48.7,52.0,64.0;
w = 2000,3000,1000,500,4000,2000,1000;
enddata

@sum(fact(i) : t(i)*x(i)) < 1020 ;
@sum(fact(i) : t(i)*y(i)) < 1020 ;
!x(i)+y(i) <= n(i);
@for( fact(i): x(i)+y(i) < n(i) ) ; ! 证明每一批次的货都得小于 所拥有的货 ;
@sum(fact(i) : w(i)*x(i)) < 40000 ;
@sum(fact(i) : w(i)*y(i)) < 40000 ;
!@sum(fact(i) #and#  i #ge# 5: t(i)*y(i) ) < 302.7 ;
@sum(fact(i) | i #ge# 5 #and# i #le# 7 : t(i)*y(i) ) < 302.7 ;
min= (1020 - @sum(fact(i):x(i)*y(i)) ) + (1020 - @sum(fact(i):t(i)*y(i)) );
@for(fact(i)gin(x));
@for(fact(i)gin(y));
end\)
这个是老师给的答案


我自己尝试写的代码\(model:
sets:
fact/1..7/ : t,w,x,y,n ;
endsets
data:
n = 8,7,9,6,6,4,8;
t = 48.7,52.0,61.3,72.0,48.7,52.0,64.0;
w = 2000,3000,1000,500,4000,2000,1000;
enddata
@sum(fact(i) : t(i)*x(i)) < 1020 ;
@sum(fact(i) : t(i)*y(i)) < 1020 ;
@for( fact(i) :  x(i)+y(i) < n(i) ) ;  
@sum(fact(i) : w(i)*x(i)) < 40000 ;
@sum(fact(i) : w(i)*y(i)) < 40000 ;
@sum(fact(i) | i #ge# 5 #and# i #le# 7 : t(i) * ( x(i) * y(i) ) ) < 302.7 ;

min= (1020 - @sum(fact(i):t(i)*x(i)) ) + (1020 - @sum(fact(i):t(i)*y(i)) );

@for(fact(i) : @gin(x));
@for(fact(i) : @gin(y));

end\)

主要的区别在min上,但结果都在报错,不知道什么回事。
还有一个问题就是,为什么要用gin来规定x,y必须是正整数啊?
我在做另外一道题的时候,好像都没有用gin来保证gin是正整数,但是结果一样正确。
如果这道题没有用调用gin函数的话,结果却错了。










zan
Irving2        

1

主题

1

听众

5

积分

升级  0%

该用户从未签到

自我介绍
平平淡淡,没有任何突出
另外一道题没有报错的题目和代码 3.png



\(model:
sets:
item/1..9/:c,x;
endsets
data:
c=5,4,4,3,4,3,2,2,3;
enddata
max=@sum(item(i):c(i)*x(i));
@sum(item(i):x(i))=6; !课程为6门;
x(1)+x(2)+x(3)+x(4)+x(5)>=2;
x(3)+x(5)+x(6)+x(8)+x(9)>=3;
x(4)+x(6)+x(7)+x(9)>=2;
x(3)<=x(1);
x(3)<=x(2);
x(4)<=x(7);
x(5)<=x(1);
x(5)<=x(2);
x(6)<=x(7);
x(8)<=x(5);
x(9)<=x(1);
x(9)<=x(2);
@for(item(i)bin(x(i)));
end\)



回复

使用道具 举报

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

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

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

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

蒙公网安备 15010502000194号

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

GMT+8, 2021-2-27 05:31 , Processed in 0.651774 second(s), 58 queries .

回顶部