使用Cplex解决网络流量

时间:2016-05-09 04:24:12

标签: cplex

我正在尝试为大约100个节点和120个弧的网络流问题编写代码。我的一个约束还涉及矩阵乘法(潮流方程)。但是,作为初学者尝试使用CPLEX非常具有挑战性。以下是我到目前为止所尝试的但是没有产生结果。请在CPLEX中帮助更好地编码网络流量问题。非常感谢。

int B=...; //number of nodes

int L=...; //number of lines

range nodes =1..B;

range lines =1..L;

float cost_generation [nodes]= ...;

float cost_shedding [nodes]= ...;

float max_generation[nodes]= ...;

float load_demand[nodes] = ...;

float cost_transmission [lines]= ...;

float max_power_flow[lines] = ...;

float admittance[1..4][1..4] = ...;



dvar float+ G[nodes];

dvar float+ D[nodes];

dvar float+ F[lines];

最小化和(节点中的i,行中的k)

(cost_generation[i]*G[i] + cost_transmission[k]*F[k] - cost_shedding[i]*D[i]);


subject to {

forall (i in nodes)

0<=G[i]<=max_generation[i];


forall (i in nodes) 

-load_demand[i]<=-D[i]<=0;


forall (k in lines)

-max_power_flow[k]<=F[k]<=max_power_flow[k];


forall (k in lines, i in nodes, j in nodes)

  sum(i in nodes, j in nodes)

admittance[i][j]*G[j]-D[j]==F[i];

  }

0 个答案:

没有答案