|
4 | 4 | "cell_type": "markdown",
|
5 | 5 | "metadata": {},
|
6 | 6 | "source": [
|
7 |
| - "# Installing MICOM\n", |
| 7 | + "# Preamble\n", |
8 | 8 | "\n",
|
9 |
| - "MICOM is present on PyPi (the Python Package Index), so it can be installed via pip with" |
10 |
| - ] |
11 |
| - }, |
12 |
| - { |
13 |
| - "cell_type": "markdown", |
14 |
| - "metadata": {}, |
15 |
| - "source": [ |
16 |
| - "```bash\n", |
17 |
| - "pip install micom\n", |
18 |
| - "```" |
19 |
| - ] |
20 |
| - }, |
21 |
| - { |
22 |
| - "cell_type": "markdown", |
23 |
| - "metadata": {}, |
24 |
| - "source": [ |
25 |
| - "The same installation strategy also works with Anaconda installations or any other Python distributions. Supported Python versions are 3.7 or any later.\n", |
| 9 | + "The same installation strategy also works with Anaconda installations or any other Python distributions. Supported Python versions are 3.8 or later.\n", |
26 | 10 | "\n",
|
27 |
| - "By default MICOM will also install [OSQP](https://osqp.org) as a quadratic programming solver. MICOM employs a bunch of tricks\n", |
28 |
| - "to improve OSQP performance for linear programming problems, but will still only each accuracies in the order of 1e-4. \n", |
29 |
| - "You may install a commercial QP solver to improve the accuracy and speed (all of them offer free academic licenses). \n", |
| 11 | + "By default MICOM will also install a linear and quadratic programming solver that will work for large problems. For this it leverages\n", |
| 12 | + "a custom hybrid solver that combines [HIGHS](https://highs.dev/) and [OSQP](https://osqp.org/). Those will be installed along with MICOM\n", |
| 13 | + "automatically on Windows and Linux, but require one additional step on MacOS (see below).\n", |
30 | 14 | "\n",
|
31 | 15 | "If you have several supported solvers installed you may later specify one with the `solver` argument in `micom.Community` or\n",
|
32 | 16 | "`micom.workflows.build`.\n",
|
33 | 17 | "\n",
|
| 18 | + "## Install the hybrid solver on MacOS\n", |
| 19 | + "\n", |
| 20 | + "Due to a currently [broken package](https://github.com/ERGO-Code/HiGHS/issues/1348) on PyPI you will need to install HIGHSpy on MacOS by hand This can either\n", |
| 21 | + "be done by building from source following the [official instructions](https://github.com/ERGO-Code/HiGHS#python) (section \"Directly\"). We also provide fixed wheels for non-Silicon\n", |
| 22 | + "MacOS platforms for Python 3.8 and 3.11. Those can be installed with:\n", |
| 23 | + "\n", |
34 | 24 | "\n",
|
35 |
| - "## Install another QP solver\n", |
| 25 | + "**Python 3.8**\n", |
| 26 | + "\n", |
| 27 | + "```bash\n", |
| 28 | + "pip install --force-reinstall https://github.com/micom-dev/micom/raw/main/.github/wheels/highspy-1.5.3-cp38-cp38-macosx_10_9_x86_64.whl\n", |
| 29 | + "```\n", |
| 30 | + "\n", |
| 31 | + "**Python 3.11**\n", |
| 32 | + "\n", |
| 33 | + "```bash\n", |
| 34 | + "pip install --force-reinstall https://github.com/micom-dev/micom/raw/main/.github/wheels/highspy-1.5.3-cp311-cp311-macosx_10_9_x86_64.whl\n", |
| 35 | + "```\n", |
| 36 | + "\n", |
| 37 | + "# Installing MICOM\n", |
| 38 | + "\n", |
| 39 | + "MICOM is present on PyPi (the Python Package Index), so it can be installed via pip with\n", |
| 40 | + "\n", |
| 41 | + "```bash\n", |
| 42 | + "pip install micom\n", |
| 43 | + "```\n", |
| 44 | + "\n", |
| 45 | + "## Install faster (non open source) solvers\n", |
36 | 46 | "\n",
|
37 | 47 | "The following solvers are proprietary but offer free licenses for academic use. Both solvers are\n",
|
38 | 48 | "faster and more accurate for the multi-step LP/QP problems in MICOM than OSQP at the moment. So if\n",
|
|
66 | 76 | "grbgetkey YOUR-LICENSE-KEY\n",
|
67 | 77 | "```"
|
68 | 78 | ]
|
69 |
| - }, |
70 |
| - { |
71 |
| - "cell_type": "code", |
72 |
| - "execution_count": null, |
73 |
| - "metadata": {}, |
74 |
| - "outputs": [], |
75 |
| - "source": [] |
76 | 79 | }
|
77 | 80 | ],
|
78 | 81 | "metadata": {
|
|
91 | 94 | "name": "python",
|
92 | 95 | "nbconvert_exporter": "python",
|
93 | 96 | "pygments_lexer": "ipython3",
|
94 |
| - "version": "3.8.5" |
| 97 | + "version": "3.11.7" |
95 | 98 | }
|
96 | 99 | },
|
97 | 100 | "nbformat": 4,
|
|
0 commit comments