---+ The Transshipment Problem in AMPL The formulation of the transshipment problem in AMPL we present here is a straightforward translation of the alternative mathematical programme for [[TransshipmentProblem][the transshipment problem]]. We will build the file [[%ATTACHURL%/transshipment.mod][<tt>transshipment.mod</tt>]]. The set %${\cal N}$% is declared as =NODES=: <pre> set NODES; </pre> The net demand %$\hat{d}_j, j \in {\cal N}$% is declared as an *integer* parameter (note there is no <tt>>= 0</tt>): <pre> param NetDemand {NODES} integer, default 0; </pre> Setting the default =NetDemand= to be 0 means that no values need to be entered for transshipment nodes. Note that the set =NODES= and the parameter =NetDemand= can be easily created from =SUPPLY_NODES=, =DEMAND_NODES=, =Supply=, etc, e.g.,: <pre> set SUPPLY_NODES; set DEMAND_NODES; set TRANSSHIPMENT_NODES; set NODES := SUPPLY_NODES union TRANSSHIPMENT_NODES union DEMAND_NODES; param Supply {SUPPLY_NODES} >= 0, integer; param Demand {DEMAND_NODES} >= 0, integer; param NetDemand {n in NODES} integer, default 0 := if n in SUPPLY_NODES then -Supply[n] else if n in DEMAND_NODES then Demand[n]; # else 0 by default </pre> The set =ARCS= is defined between pairs of nodes and costs and bounds are also defined: <pre> set ARCS within NODES cross NODES; param Cost {ARCS}; param Lower {ARCS} >= 0, integer, default 0; param Upper {(i, j) in ARCS} >= Lower[i, j], integer, default Infinity; </pre> Now, the mathematical programme follows directly: <pre> var Flow {(i, j) in ARCS} >= Lower[i, j], <= Upper[i, j], integer; minimize TotalCost: sum {(i, j) in ARCS} Cost[i, j] * Flow[i, j]; subject to ConserveFlow {j in NODES}: sum {(i, j) in ARCS} Flow[i, j] - sum {(j, k) in ARCS} Flow[j, k] >= NetDemand[j]; </pre> -- Main.TWikiAdminGroup - 22 Apr 2008
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
mod
transshipment.mod
r5
r4
r3
r2
r1
manage
1.5 K
2008-04-28 - 02:21
MichaelOSullivan
This topic: OpsRes
>
WebHome
>
NetworkOptimisation
>
TransshipmentProblem
>
TransshipmentProblemInAMPL
Topic revision: r6 - 2008-04-28 - MichaelOSullivan
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback