0
我是Cplex的新手,我想定義兩個名爲PathOfEdge(其工作路由交叉鏈接i的節點集合)和PathOfOut((其工作路徑不交叉鏈接i的節點集合))在cplex中,我如何定義PathOfOut集?在cplex中定義兩個集合
// Basic network configuration nodes and links
{string} Hubs = ...;
tuple link {
key string link_id;
string org;
string dst;
}
tuple demand {
string org;
string dst;
}
tuple path_edge
{ demand request;
int k_sp;
{link} Links = ...;
// basic demand creation based on origin and destination node.
{demand} Demands ={<source,tail>|source in Hubs, tail in Hubs: source!= tail };
//Set of eligible routes for recovery of the ith span failure.
{link} PathOfDemands[Demands][K_sp]=...;
PathOfEdge是否正確?
//PathOfEdge
{path_edge} PathOfEdge[l in Links]= {<dem,k>|dem in Demands, k in K_sp : l in PathOfDemands[dem][k]};
我的代碼爲網絡中的K-最短路徑一小部分:
PathOfDemands=[
//node1
//node1->2
[{<link1 , node1, node2>}, {<link2, node1, node6>,<link11, node6, node2>}, {<link2 , node1, node6>,<link5 , node6, node5>,<link6 , node5, node3>,<link13, node3, node2>}],
//node 1->6
[{<link2 , node1, node6>}, {<link1, node1, node2>,<link3 , node2, node6>}, {<link1, node1, node2>,<link4 , node2, node3>,<link14, node3, node5>,<link12, node5, node6>}],
//node 1->3
[{<link1 , node1, node2>,<link4 , node2, node3>}, {<link2 , node1, node6>,<link11, node6, node2>,<link4 , node2, node3>}, {<link2 , node1, node6>, <link5 , node6, node5>,<link6 , node5, node3>}],
//node 1->5
[{<link2 , node1, node6>,<link5 , node6, node5>}, {<link1 , node1, node2>,<link3 , node2, node6>,<link5 , node6, node5>}, {<link1 , node1, node2>, <link3 , node2, node6>,<link6 , node3, node5>}],
//node 1->4
[{<link1 , node1, node2>,<link4 , node2, node3>,<link8 , node3, node4>}, {<link2 , node1, node6>,<link5 , node6, node5>,<link7 , node5, node4>}, {<link1 , node1, node2>,<link5 , node3, node4>,<link5 , node6, node5>,<link7 , node5, node4>}],
//node2
//node2->1
.
.
.
//node 6->5
和節點和網絡的鏈接。
//define nodes of n6s8 network.
Hubs = {
node1,
node2,
node3,
node4,
node5,
node6,
};
//
Links = {
<link1 , node1, node2>,
<link2 , node1, node3>,
<link3 , node2, node3>,
<link4 , node2, node4>,
<link5 , node3, node4>,
<link6 , node3, node5>,
<link7 , node4, node5>,
<link8 , node4, node6>,
<link9 , node5, node6>,
....}