14 if __name__ ==
"__main__":
16 ws = GamsWorkspace(system_directory = sys.argv[1])
21 plants = [
"Seattle",
"San-Diego" ]
22 markets = [
"New-York",
"Chicago",
"Topeka" ]
23 capacity = {
"Seattle": 350.0,
"San-Diego": 600.0 }
24 demand = {
"New-York": 325.0,
"Chicago": 300.0,
"Topeka": 275.0 }
25 distance = { (
"Seattle",
"New-York") : 2.5,
26 (
"Seattle",
"Chicago") : 1.7,
27 (
"Seattle",
"Topeka") : 1.8,
28 (
"San-Diego",
"New-York") : 2.5,
29 (
"San-Diego",
"Chicago") : 1.8,
30 (
"San-Diego",
"Topeka") : 1.4
34 db = ws.add_database()
37 i = db.add_set(
"i", 1,
"canning plants")
42 j = db.add_set(
"j", 1,
"markets")
47 a = db.add_parameter_dc(
"a", [i],
"capacity of plant i in cases")
49 a.add_record(p).value = capacity[p]
52 b = db.add_parameter_dc(
"b", [j],
"demand at market j in cases")
54 b.add_record(m).value = demand[m]
57 d = db.add_parameter_dc(
"d", [i,j],
"distance in thousands of miles")
58 for k, v
in iter(distance.items()):
59 d.add_record(k).value = v
62 f = db.add_parameter(
"f", 0,
"freight in dollars per case per thousand miles")
63 f.add_record().value = 90
68 print(
"Content of GDX file 'data.gdx':")
69 subprocess.call([
"gdxdump", os.path.join(ws.working_directory,
"data.gdx")])
72 db2 = ws.add_database_from_gdx(
"data.gdx")
75 i = [ rec.keys[0]
for rec
in db2[
"i"] ]
76 j = [ rec.keys[0]
for rec
in db2[
"j"] ]
78 a = { rec.keys[0]:rec.value
for rec
in db2[
"a"] }
79 b = { rec.keys[0]:rec.value
for rec
in db2[
"b"] }
80 d = { tuple(rec.keys):rec.value
for rec
in db2[
"d"] }
82 f = db2[
"f"].first_record().value
92 print(
" ", rec,
":", a[rec])
95 print(
" ", rec,
":", b[rec])
98 print(
" ", rec,
":", d[rec])