用Matlab、C语言、Lingo解下这道题,需要程序过程

 我来答
迂堂派
2016-07-20 · 知道合伙人软件行家
迂堂派
知道合伙人软件行家
采纳数:335 获赞数:1062
西南大学电子与通信工程专业。热爱 IT,喜欢阅读~

向TA提问 私信TA
展开全部

有几个地方还有问题:

  • g (15, i) = k(16, i), 16 超过边界。

  • 约束条件里面的求和符号,从 1 到 t,应该是从 1 到 15?

  • 约束条件里面的左边中括号,右边的中括号丢了?

Lingo 求解如下:

sets:
set1/1..5/: B, C, A;
set2/1..15/;
set3(set1, set2): x, y, g, k;
endsets

min = @sum(set3(I, J): 100*x(I, J) + 120*y(I, J) + 120*k(I, J));

@for(set1(I): 
        B(I) <= C(I) + @sum( set2(T): 8000*x(I, T) + 2000*y(I, T) + 10000*(g(I, T) + k(I, T)) - T*B(I) );
        C(I) + @sum( set2(T): 8000*x(I, T) + 2000*y(I, T) + 10000*(g(I, T) + k(I, T)) - T*B(I) ) <= A(I);
        @for(set2(J) | J#le#14: g(I, J) = k(I, J+1) );
    );

!@for(set3(I, J): 
!    @free(x(I, J));
!    @free(y(I, J));
!    @free(g(I, J));
!    @free(k(I, J));
!);


data:
B = 2000, 3000, 5000, 8000, 4000;
C = 9010, 7008, 17015, 18020, 27509;
A = 17000, 17000, 19000, 40000, 28500;
enddata
追问

可以再帮我算一个吗?

追答

约束条件中对下标 t 的遍历求和还是不明白啊,

  • 求和符号的自变量是 t,上限怎么也是 t

  • 求和完以后前去的那一项的 t B_i,这个 t 没定下来,是需要遍历吗

Lingo 求解猜测如下:

sets:
set1/1..5/: B, C, A;
set2/1..15/;
set3(set1, set2): x, y, k;
endsets
 
min = @sum(set3(I, J): 100*x(I, J) + 120*y(I, J) + 120*k(I, J));
 
@for(set1(I): 
    @for(set1(T):
          B(I) <= C(I) + @sum( set2(J) | J #le# T: 8000*x(I, J) + 2000*y(I, J) + 10000*(k(I, J)) ) - T*B(I) ;
          C(I) + @sum( set2(J) | J #le# T: 8000*x(I, J) + 2000*y(I, J) + 10000*(k(I, J)) ) - T*B(I) <= A(I);
    );
    );
 
!@for(set3(I, J): 
!    @free(x(I, J));
!    @free(y(I, J));
!    @free(k(I, J));
!);
 
 
data:
B = 2000, 3000, 5000, 8000, 4000;
C = 9010, 7008, 17015, 18020, 27509;
A = 17000, 17000, 19000, 40000, 28500;
enddata
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式