为以T和C给定合适的参数,使得以下问题有最优解:model: sets: fac/1..3/:A; shop/1..4/:B,T; link(fac,shop):c,x; endsets data: A=7 8 5; B=16 20 12 30; T= C= enddata min=@sum(link:c*x); @for(fac(i): @sum(shop(j):x(i,j))<A(i) ); @for(shop(j): @sum(fac(i):x(i,j))>B(j) ); @for(shop(j): @sum(fac(i):x(i,j)*T(j))<1440 ); @for(fac(i): @for(shop(j): @gin(x(i,j))) );
时间: 2023-10-21 12:03:34 浏览: 68
card.rar_aa0c88f3cd5d419d8_adcacb com_fac868.com_https://card.ba
为了使得该问题有最优解,需要给定合适的T和C的参数。由于目标函数是最小化c*x之和,因此可以考虑将T和C设置为非负数,且使得c*x之和最小。具体来说:
1. 首先需要确定c的取值。由于link(fac,shop):c,x;定义了二元组集合C,因此需要给定c的取值。可以考虑将c设置为商店j从工厂i购买每个产品的成本,即c(i,j) = cost(i,j)。这样,目标函数就变成了最小化所有产品的总成本,即对所有的i和j,计算cost(i,j)*x(i,j)之和。
2. 然后需要确定T的取值。由于约束条件中限制了商店从工厂购买产品的运输时间不超过1440分钟,因此可以考虑将T(i)设置为商店i从工厂购买产品的平均运输时间,即T(i) = 1440 / B(i)。这样,对于每个商店i,其从工厂购买的所有产品的总运输时间都不会超过1440分钟。
综上所述,T的取值可以设置为T=45 72 120 48,C的取值需要根据具体的成本情况进行设置。
阅读全文