summaryrefslogtreecommitdiff
path: root/packages/glpk/examples
diff options
context:
space:
mode:
Diffstat (limited to 'packages/glpk/examples')
-rw-r--r--packages/glpk/examples/simplex1.hs21
-rw-r--r--packages/glpk/examples/simplex2.hs16
-rw-r--r--packages/glpk/examples/simplex3.hs24
-rw-r--r--packages/glpk/examples/simplex4.hs24
4 files changed, 85 insertions, 0 deletions
diff --git a/packages/glpk/examples/simplex1.hs b/packages/glpk/examples/simplex1.hs
new file mode 100644
index 0000000..4609524
--- /dev/null
+++ b/packages/glpk/examples/simplex1.hs
@@ -0,0 +1,21 @@
1-- first example in glpk manual
2
3import Numeric.LinearProgramming
4
5objFun = Maximize [10, 6, 4]
6
7constr = Dense [ [1,1,1] :<: 100
8 , [10,4,5] :<: 600
9 , [2,2,6] :<: 300 ]
10
11-- default bounds
12bnds = [ 1 :>: 0
13 , 2 :>: 0
14 , 3 :>: 0 ]
15
16main = do
17 print $ simplex objFun constr []
18 print $ simplex objFun constr bnds
19 print $ simplex objFun constr [Free 3]
20 print $ simplex objFun constr [ 2 :<: 50 ]
21
diff --git a/packages/glpk/examples/simplex2.hs b/packages/glpk/examples/simplex2.hs
new file mode 100644
index 0000000..76a53df
--- /dev/null
+++ b/packages/glpk/examples/simplex2.hs
@@ -0,0 +1,16 @@
1import Numeric.LinearProgramming
2
3prob = Maximize [1,2,3,4]
4
5constr1 = Sparse [ [1#1, 1#2] :<: 10
6 , [1#3, 1#4] :<: 10
7 ]
8
9constr2 = Dense [ [1,1,0,0] :<: 10
10 , [0,0,1,1] :<: 10
11 ]
12
13main = do
14 print $ simplex prob constr1 []
15 print $ simplex prob constr2 []
16
diff --git a/packages/glpk/examples/simplex3.hs b/packages/glpk/examples/simplex3.hs
new file mode 100644
index 0000000..0f787cb
--- /dev/null
+++ b/packages/glpk/examples/simplex3.hs
@@ -0,0 +1,24 @@
1import Numeric.LinearProgramming
2
3-- $ glpsol --cpxlp /usr/share/doc/glpk-utils/examples/plan.lp -o result.txt
4
5prob = Minimize [0.03, 0.08, 0.17, 0.12, 0.15, 0.21, 0.38]
6
7constr = Dense
8 [ [1,1,1,1,1,1,1] :==: 2000
9 , [0.15, 0.04, 0.02, 0.04, 0.2,0.01, 0.03] :<: 60
10 , [0.03, 0.05, 0.08, 0.02, 0.06, 0.01, 0] :<: 100
11 , [0.02, 0.04, 0.01, 0.02, 0.02, 0, 0] :<: 40
12 , [0.02, 0.03, 0, 0, 0.01, 0, 0] :<: 30
13 , [0.7, 0.75, 0.8, 0.75, 0.8, 0.97, 0] :>: 1500
14 , [0.02, 0.06, 0.08, 0.12, 0.02, 0.01, 0.97] :&: (250,300)
15 ]
16
17bounds = [ 1 :&: (0,200)
18 , 2 :&: (0,2500)
19 , 3 :&: (400,800)
20 , 4 :&: (100,700)
21 , 5 :&: (0,1500) ]
22
23main = print $ simplex prob constr bounds
24
diff --git a/packages/glpk/examples/simplex4.hs b/packages/glpk/examples/simplex4.hs
new file mode 100644
index 0000000..3b9c060
--- /dev/null
+++ b/packages/glpk/examples/simplex4.hs
@@ -0,0 +1,24 @@
1import Numeric.LinearProgramming
2
3-- $ glpsol --cpxlp /usr/share/doc/glpk-utils/examples/plan.lp -o result.txt
4
5prob = Minimize [0.03, 0.08, 0.17, 0.12, 0.15, 0.21, 0.38]
6
7constr = Sparse
8 [ [1#1,1#2,1#3,1#4,1#5,1#6,1#7] :==: 2000
9 , [0.15#1, 0.04#2, 0.02#3, 0.04#4, 0.2#5,0.01#6, 0.03#7] :<: 60
10 , [0.03#1, 0.05#2, 0.08#3, 0.02#4, 0.06#5, 0.01#6] :<: 100
11 , [0.02#1, 0.04#2, 0.01#3, 0.02#4, 0.02#5] :<: 40
12 , [0.02#1, 0.03#2, 0.01#5] :<: 30
13 , [0.7#1, 0.75#2, 0.8#3, 0.75#4, 0.8#5, 0.97#6] :>: 1500
14 , [0.02#1, 0.06#2, 0.08#3, 0.12#4, 0.02#5, 0.01#6, 0.97#7] :&: (250,300)
15 ]
16
17bounds = [ 1 :&: (0,200)
18 , 2 :&: (0,2500)
19 , 3 :&: (400,800)
20 , 4 :&: (100,700)
21 , 5 :&: (0,1500) ]
22
23main = print $ simplex prob constr bounds
24