Skip to content

Commit 6d433ab

Browse files
committed
Sync with ME-projects
1 parent 8e484b8 commit 6d433ab

File tree

5 files changed

+14073
-0
lines changed

5 files changed

+14073
-0
lines changed

Diff for: opencast_mining/README.md

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Opencast Mining
2+
3+
This model is an example of a production planning problem. A mining company wants to identify which excavation locations
4+
to choose in order to maximize the gross margins of extracting ore. This problem is a binary optimization problem that
5+
can be formulated as a linear programming problem using the Gurobi Python API and solved with the Gurobi Optimizer.
6+
7+
This model is example 14 from the fifth edition of Model Building in Mathematical Programming, by H. Paul Williams
8+
on pages 269-270 and 324-325.
9+
10+
This example is at the intermediate level where we assume that you know Python and the Gurobi Python API and that
11+
you have some knowledge of building mathematical optimization models.
12+
13+
14+
15+
https://gurobi.github.io/modeling-examples/opencast_mining/opencast_mining.html
16+
17+
18+
19+
## Licensing
20+
21+
You can download the repository containing this and other examples
22+
by clicking [here](https://github.com/Gurobi/modeling-examples/archive/master.zip).
23+
In order to run this Jupyter Notebook properly, you must have a Gurobi license.
24+
If you do not have one, you can request
25+
an [evaluation license](https://www.gurobi.com/downloads/request-an-evaluation-license/?utm_source=Github&utm_medium=website_JupyterME&utm_campaign=CommercialDataScience)
26+
as a *commercial user*, or download a [free license](https://www.gurobi.com/academia/academic-program-and-licenses/?utm_source=Github&utm_medium=website_JupyterME&utm_campaign=AcademicDataScience) as an *academic user*.
27+
28+
29+
Copyright © 2020 Gurobi Optimization, LLC

Diff for: opencast_mining/extractionPyramid.PNG

20 KB
Loading

Diff for: opencast_mining/opencastMining.lp

+99
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
\ Model opencastMining
2+
\ LP format - for model browsing. Use MPS format to capture full model detail.
3+
Maximize
4+
- 1500 extract[4] + 1000 extract[6] - 1500 extract[8] - 1000 extract[9]
5+
- 1000 extract[10] - 1500 extract[11] - 2000 extract[12]
6+
- 1500 extract[13] - 1500 extract[14] - 2000 extract[15]
7+
- 2500 extract[16] + 2000 extract[17] + 2000 extract[18]
8+
- 2000 extract[19] - 4000 extract[22] - 2000 extract[23]
9+
- 2000 extract[24] - 5000 extract[25] + 16000 extract[26]
10+
+ 4000 extract[27] + 2000 extract[28] + 2000 extract[30]
11+
Subject To
12+
extractionConstrs[30,26]: - extract[26] + extract[30] <= 0
13+
extractionConstrs[30,27]: - extract[27] + extract[30] <= 0
14+
extractionConstrs[30,28]: - extract[28] + extract[30] <= 0
15+
extractionConstrs[30,29]: - extract[29] + extract[30] <= 0
16+
extractionConstrs[29,21]: - extract[21] + extract[29] <= 0
17+
extractionConstrs[29,22]: - extract[22] + extract[29] <= 0
18+
extractionConstrs[29,24]: - extract[24] + extract[29] <= 0
19+
extractionConstrs[29,25]: - extract[25] + extract[29] <= 0
20+
extractionConstrs[28,20]: - extract[20] + extract[28] <= 0
21+
extractionConstrs[28,21]: - extract[21] + extract[28] <= 0
22+
extractionConstrs[28,23]: - extract[23] + extract[28] <= 0
23+
extractionConstrs[28,24]: - extract[24] + extract[28] <= 0
24+
extractionConstrs[27,18]: - extract[18] + extract[27] <= 0
25+
extractionConstrs[27,19]: - extract[19] + extract[27] <= 0
26+
extractionConstrs[27,21]: - extract[21] + extract[27] <= 0
27+
extractionConstrs[27,22]: - extract[22] + extract[27] <= 0
28+
extractionConstrs[26,17]: - extract[17] + extract[26] <= 0
29+
extractionConstrs[26,18]: - extract[18] + extract[26] <= 0
30+
extractionConstrs[26,20]: - extract[20] + extract[26] <= 0
31+
extractionConstrs[26,21]: - extract[21] + extract[26] <= 0
32+
extractionConstrs[25,11]: - extract[11] + extract[25] <= 0
33+
extractionConstrs[25,12]: - extract[12] + extract[25] <= 0
34+
extractionConstrs[25,15]: - extract[15] + extract[25] <= 0
35+
extractionConstrs[25,16]: - extract[16] + extract[25] <= 0
36+
extractionConstrs[24,10]: - extract[10] + extract[24] <= 0
37+
extractionConstrs[24,11]: - extract[11] + extract[24] <= 0
38+
extractionConstrs[24,14]: - extract[14] + extract[24] <= 0
39+
extractionConstrs[24,15]: - extract[15] + extract[24] <= 0
40+
extractionConstrs[23,9]: - extract[9] + extract[23] <= 0
41+
extractionConstrs[23,10]: - extract[10] + extract[23] <= 0
42+
extractionConstrs[23,13]: - extract[13] + extract[23] <= 0
43+
extractionConstrs[23,14]: - extract[14] + extract[23] <= 0
44+
extractionConstrs[22,7]: - extract[7] + extract[22] <= 0
45+
extractionConstrs[22,8]: - extract[8] + extract[22] <= 0
46+
extractionConstrs[22,11]: - extract[11] + extract[22] <= 0
47+
extractionConstrs[22,12]: - extract[12] + extract[22] <= 0
48+
extractionConstrs[21,6]: - extract[6] + extract[21] <= 0
49+
extractionConstrs[21,7]: - extract[7] + extract[21] <= 0
50+
extractionConstrs[21,10]: - extract[10] + extract[21] <= 0
51+
extractionConstrs[21,11]: - extract[11] + extract[21] <= 0
52+
extractionConstrs[20,5]: - extract[5] + extract[20] <= 0
53+
extractionConstrs[20,6]: - extract[6] + extract[20] <= 0
54+
extractionConstrs[20,9]: - extract[9] + extract[20] <= 0
55+
extractionConstrs[20,10]: - extract[10] + extract[20] <= 0
56+
extractionConstrs[19,3]: - extract[3] + extract[19] <= 0
57+
extractionConstrs[19,4]: - extract[4] + extract[19] <= 0
58+
extractionConstrs[19,7]: - extract[7] + extract[19] <= 0
59+
extractionConstrs[19,8]: - extract[8] + extract[19] <= 0
60+
extractionConstrs[18,2]: - extract[2] + extract[18] <= 0
61+
extractionConstrs[18,3]: - extract[3] + extract[18] <= 0
62+
extractionConstrs[18,6]: - extract[6] + extract[18] <= 0
63+
extractionConstrs[18,7]: - extract[7] + extract[18] <= 0
64+
extractionConstrs[17,1]: - extract[1] + extract[17] <= 0
65+
extractionConstrs[17,2]: - extract[2] + extract[17] <= 0
66+
extractionConstrs[17,5]: - extract[5] + extract[17] <= 0
67+
extractionConstrs[17,6]: - extract[6] + extract[17] <= 0
68+
Bounds
69+
extract[1] <= 1
70+
extract[2] <= 1
71+
extract[3] <= 1
72+
extract[4] <= 1
73+
extract[5] <= 1
74+
extract[6] <= 1
75+
extract[7] <= 1
76+
extract[8] <= 1
77+
extract[9] <= 1
78+
extract[10] <= 1
79+
extract[11] <= 1
80+
extract[12] <= 1
81+
extract[13] <= 1
82+
extract[14] <= 1
83+
extract[15] <= 1
84+
extract[16] <= 1
85+
extract[17] <= 1
86+
extract[18] <= 1
87+
extract[19] <= 1
88+
extract[20] <= 1
89+
extract[21] <= 1
90+
extract[22] <= 1
91+
extract[23] <= 1
92+
extract[24] <= 1
93+
extract[25] <= 1
94+
extract[26] <= 1
95+
extract[27] <= 1
96+
extract[28] <= 1
97+
extract[29] <= 1
98+
extract[30] <= 1
99+
End

0 commit comments

Comments
 (0)