05年数模B题DVD在线租赁的LINGO程序

该程序通过建立数学模型,针对DVD数量及会员订单数据进行优化分配。设置了目标函数为最大化总价值,并约束每个DVD分配不超过其数量及每个会员订购的DVD不超过3个。使用@bin变量类型确保分配决策为二进制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序如下:

model:

sets:

  d/1..100/: num;

  c/1..1000/;

  links(c,d): p, x;

endsets

!目标函数;

  max=@sum(links: p*x);

!DVD数量约束;

  @for(d(J):

    @sum(c(I): x(I,J))<=num(J));

  @for(c(I):

    @sum(d(J): x(I,J))<=3);

!变量类型;
 
  @for(links:@bin(x));

!这里是数据;

data:

  num,p=@ole('B2005Table2.xls',ndvd,p);
 
  @text('out.txt')=x;

enddata

end

 

注:原题数据文件B2005Table2.xls中, 可从
         http://mcm.edu.cn/mcm05/problems2005c.asp   下载

程序的运行需要Excel文件B2005Table2.xls中数据的支持,另外,在Excel中要为数据块定义名称,具体方式为

       将B2005Table2.xls与程序放到相同目录,打开B2005Table2.xls,选中“DVD现有数量”栏的数据部分,插入->名称->定义->输入“ndvd”;选中“会员在线订单”栏的数据部分,插入->名称->定义->输入“p”,保存

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值