0
我和我的朋友正在进行AMPL项目。该项目的目标是在光纤到户网络中实现利润最大化。网络没有路由器或分路器,只有带机柜的节点,其中一根带有x光纤的光缆可以分成光纤较少的光缆或与其他光缆相连的光纤,以制造具有更多光纤的光缆。也就是说,一个专用光纤应该从一个中央节点到达有n个客户端的接入点(需求;我们不担心客户端如何连接到接入点)。我们在所有节点(中心节点,传输节点和接入点)之间存在边缘,这些节点在将电缆放置在那里和长度方面存在挖沟成本(因为每种类型的电缆具有每km成本和光纤数量)。AMPL优化 - 不同的电缆类型
我们的问题是:在每个边缘,我们可以有不同类型的电缆数量。我们不知道如何申报AMPL网络模型这种情况下,让它现在
- 每个边缘可以有一个以上的电缆
- (不同类型的,我们后来在每一种情况下申报的)我们也不知道如何让程序知道它可以选择不同的电缆类型
我想过一种解决方案,为每条边(链接)创建一组独立的电缆,但我不知道这是否是可能在AMPL中。
到目前为止,我们有以下代码
帮助将非常感谢,谢谢!
set ACCESSPOINTS;
set TRANSITS;
set CENTRAL
set NODES := ACCESSPOINTS union TRANSITS union CENTRAL;
set LINKS within (NODES cross NODES);
set CABLES;
#set DEMANDS within (CENTRAL cross ACCESSPOINTS);
param demand {ACCESSPOINTS} >=0;
param trenching_cost {LINKS} >= 0;
param length {LINKS} >= 0;
param cabinet_cost {TRANSITS} >= 0;
param cost_per_km {CABLES} >= 0;
param fibers {CABLES} >= 0;
param originates {n in NODES, (i,j) in LINKS} binary :=
if (i = n) then 1 else 0;
param terminates {n in NODES, (i,j) in LINKS} binary :=
if (j = n) then 1 else 0;