CIENA_MCNFP_2
-
Upload
stephen-hartanto -
Category
Documents
-
view
219 -
download
0
Transcript of CIENA_MCNFP_2
-
7/28/2019 CIENA_MCNFP_2
1/2
CIENACorporationInternalReportCoreSwitchingDivision,Cupertino,CAReportingManagerDerekSandersbyEswarSivaraman([email protected])
TheMulti-CommodityNetworkFlowProblem
ProblemStatement:Suppose we have a network of nodes connected by lines. Each line has a particularcapacity(aka "bandwidth"), aswellas a cost associated with it. There issome trafficflowing along each line (where the flow is bi-directional) consuming some of thebandwidth. Thetraffic flow ismade upof node-to-node demands that maygo throughmultiplehopsalongitsroute inorder togetfromoriginto destination. We can assumethateachpossiblepairofnodeshassometrafficflowbetweenthem.Thegoalis tofindtheoptimal(ie,minimumcost)setof routes throughthenetworkforeachofthosedemands.Theconstraintsarethattotalflowalongeachlinkmustbelessthanthelink'scapacity,andthatthetrafficdemandscannotbesplitontodifferentroutes,i.e.,thecompleteconnectionisroutedthroughasinglepath.
AnExample:
Considerthefollowingnetworkof5nodes,and8links.(Numbersshowncorrespondthenodelabels,andthelinklabels.)
BasicNotation: N=#ofnodes;Nsetofallnodes
L=#oflinks/lines;Lsetofalllines/links
i,jNdij=demandfromnodeitonodej iNdefineLiLtobethesetofalllinksincidentatnodei
kLdefineYkLtobethesetofalllinksadjacenttolinkk(i.e.,linksthatsproutfromthenodesoneitherendsoflinkk)
kLCk=Capacityoflinkk
kLMk=Costofusinglinkktoprovisionaflowofunitsize
kLiNwki=0ifkLi,=1otherwise
Alittleexplanationhere:Asource(sink)lineisapotentiallinkthroughwhichademandeitherstarts(ends)itsjourneyacrossthenetwork.Fore.g.,ifapacketneedstobetransferredfromnode1tonode5,ithastostartitsjourney(i.e.,leavenode1)ononeoflinks1/2/3,andsimilarlyhastoenditsjourney(i.e.,enternode5)ononeoflinks6/7/8.Thus,links1/2/3arepotentialsourcelinksford15,andlikewise,links6/7/8arepotentialsinksford15.Consequently,alllinesincidentatanodearepotentialsources(sinks)for
demandsstarting(ending)therefromthismotivatestheconstructionoftheparameterswki,forkL,andiN.
Choice Variables: The question we are trying to answer is this: consider any link is it(capableof)carryingapackageofsizedijthatneedstoberoutedfromnodeitonodejwhilesatisfyingallcapacityconstraints?Consequently,thechoicevariablesare:
otherwise0
jnodetoinodefromddemandcarriesklinkif1Xj,ik ijkij
=
= NL
1
2
3
4
5
1
2
3
6
7
8
4
5
-
7/28/2019 CIENA_MCNFP_2
2/2
CIENACorporationInternalReportCoreSwitchingDivision,Cupertino,CAReportingManagerDerekSandersbyEswarSivaraman([email protected])
Constraints:
(1) CapacityConstraint: = =
N
1i
N
1j
kkijij CXdk L
(2) Demandcompletionconstraint:
=
=
i
i
Lk
ijijkij
Lk
jijikji
ddXj,i2(b)Eqn
ddXj,i2(a)Eqn
N
N
(tomakesurethatallpackagesarereceived,andthatallpackagesareforcedoutoftheirsourcenodes)
(3) FlowBalanceEquations:
++
p
k
Lk
kij
Yr
rij
kijkjkikjki
2Xp,j,i3(b)Eqn
0XX)1ww()ww(kj,i3(a)Eqn
N
LN
(tomakesurethatwhatgoesincomesoutandtoavoidanyloops);actually,eqn3(b)isredundantsincethefinalsolution,beingminimalincost,willobviouslynotincludeanywastefulloops.
IntegerProgrammingFormulation:
3(b)3(a),2(b),2(a),1,-sintConstra
MdXk j,i
kijkij
TOSUBJECT
MINIMIZE
L N
(otherobviousconstraintschoicevariablesarenon-negativeandtakeonvaluesof0/1)
AdditionalNotes:
Thisso-to-speakmiserlinessinmynotationistopurposelyavoidthestandardapproachofflowin=flowout,andalsotoavoidexplicitlydocumentingthedirectionofflow,which,Ifeel only adds tothe complexity of the formulation. This IPformulationwillidentifytheshortestpathforeachdemandpacketacrossthenetwork.
Also,equations 1,2(a),and 2(b) will automatically identify ifit impossible tosatisfy alldemands,i.e.,iftheIPhasaninfeasiblesolution.IftheIPisfeasible,theLagrangian,i.e.,themarginalpricesforequations2(a)and(b)willbezero.IftheIPisinfeasible,some/allofthemarginalpricesforconstraints2(a)and(b) will be non-zero; consequently elimination of the corresponding demand pairs willrendertheIPfeasible,allowingfortheremainingflowstoberouted.
Fortheexamplenetwork,theNodeadjacenciesare:
L1={1,2,3},L2={1,4,6},L3={2,4,5,7},L4={3,5,8},L5={6,7,8}and,theLinkadjacenciesare: Y1={2,3,4,6},Y2={1,3,4,5,7},Y3={1,2,5,8},Y4={1,2,5,6,7},
Y5={2,3,4,7,8},Y6={1,4,7,8},Y7={2,4,5,6,8},Y8={3,5,6,7}