作业帮 > 数学 > 作业

求用Lingo语句表达min{Dij*Xj},用@min函数如何写?

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/11/08 17:02:41
求用Lingo语句表达min{Dij*Xj},用@min函数如何写?
已有集合设定:
supply/1..49/:B,X;
link(supply,supply):D;
那么如何表示:对于每一个Bi,有Bi=min{Dij*Xj};
@for(supply(i):b(i)=@min(supply(j):d(i,j)*x(j)));
再问: 请问:如果我想加强条件,在取Bi=min{Dij*Xj}的时候限制Bi必须大于零,不能等于零,该怎么办。 p.s. 我在程序中加入@for(supply(i):(B(i)>0); 此时B(i)仍然全部取0值; 如果加@for(supply(i):(B(i)>1); 则会无解。
再答: 你用@if写 如果是0 那就给个比较大的值 然后再一起求最小值好吗
再问: 如果在求解过程中人为中断后显示a solution is not available for this model,总是显示无解,是常见情况还是我的代码有问题?
再答: 没找到可行解就中断是会有这种问题的 不会代码有问题