FICO
FICO Xpress Optimization Examples Repository
FICO Optimization Community FICO Xpress Optimization Home
Back to examples browserPrevious exampleNext example

Minimum cost flow

Description
A company needs to transport 180 tonnes of chemical products stored in four depots to three recycling centers. The depots contain 190 tonnes in total. Each depot only delivers to certain centers, by road and/or by rail, at a given cost per tonne. Transports by rail need to have at least 10 tonnes and at most 50 tonnes for any single delivery. How should the company transport the 180 tonnes of chemicals to minimize the total cost of transport?

Further explanation of this example: 'Applications of optimization with Xpress-MP', Section 10.2 'Choosing the mode of transport'. Similar problems: Section 6.4 'Cane sugar production', Section 6.5 'Opencast mining'

mincostflowgr.zip[download all files]

Source Files

Data Files





mincostflow.dat

! Data file for `mincostflow.mos'

A: [(1 1) "SOURCE"  "D1"
    (2 1) "SOURCE"  "D2"
    (3 1) "SOURCE"  "D3"
    (4 1) "SOURCE"  "D4"
    (5 1) "D1"      "road-C1"
    (6 1) "D1"      "road-C2"
    (7 1) "D2"      "rail-C1"
    (8 1) "D2"      "road-C1"
    (9 1) "D3"      "road-C2"
   (10 1) "D3"      "rail-C3"
   (11 1) "D3"      "road-C3"
   (12 1) "D4"      "rail-C2"
   (13 1) "D4"      "road-C2"
   (14 1) "D4"      "rail-C3"
   (15 1) "D4"      "road-C3"
   (16 1) "rail-C1" "C1"
   (17 1) "road-C1" "C1" 
   (18 1) "rail-C2" "C2"
   (19 1) "road-C2" "C2"
   (20 1) "rail-C3" "C3"
   (21 1) "road-C3" "C3"
   (22 1) "C1"      "SINK" 
   (23 1) "C2"      "SINK"
   (24 1) "C3"      "SINK"]

MINCAP: [(7) 10 (10) 10 (12) 10 (14) 10]

MAXCAP: [(1) 50  40  35  65 (7) 50 (10) 50 (12) 50 (14) 50]

COST: [(5) 12 11 12 14 9 4 5 11 14 10 14]

MINQ: 180

POS: [("SOURCE") [16 60] 
      ("D1") [43 26] ("D2") [43 50] ("D3") [43 72] ("D4") [43 96] 
      ("rail-C1") [82 17] ("road-C1") [82 34] ("rail-C2") [82 52] 
      ("road-C2") [82 69] ("rail-C3") [82 86] ("road-C3") [82 102] 
      ("C1") [110 28] ("C2") [110 60] ("C3") [110 92] ("SINK") [135 60]]

Back to examples browserPrevious exampleNext example