Skip to content

Commit

Permalink
Completed module infrastructure
Browse files Browse the repository at this point in the history
  • Loading branch information
Foggalong committed Jul 22, 2024
1 parent af33940 commit 0c47d36
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
20 changes: 14 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,28 @@

Tools for solving robust optimal contribution selection problems in Python. All code and examples in RobustOCS are fully and freely available for all use under the MIT License.

## Dependencies
## Installation

It depends on Python 3.10+, using [NumPy](https://pypi.org/project/numpy) for linear algebra and [SciPy](https://scipy.org) for sparse matrix objects. As a solver it can either use:
The latest release can be installed from the [PyPI repository](https://pypi.org/project/robustocs/) using

- [Gurobi](https://www.gurobi.com) (commercial) via [gurobipy](https://pypi.org/project/gurobipy),
- [HiGHS](https://highs.dev) (free software) via [highspy](https://pypi.org/project/highspy).
```bash
pip install robustocs
```

**NOTE**: Gurobi don't yet have [NumPy v2 support]. By extension, this module will continue to use NumPy 1.2x only until gurobipy is updated.
Alternatively, it use the latest (potentially unstable) version from GitHub, use

```bash
git clone https://github.com/Foggalong/RobustOCS.git
pip install RobustOCS/
```

Either way, the package depends on Python 3.10+, using [NumPy](https://pypi.org/project/numpy) for linear algebra and [SciPy](https://scipy.org) for sparse matrix objects. As a solver it can either use [Gurobi](https://www.gurobi.com) (commercial) via [gurobipy](https://pypi.org/project/gurobipy) or [HiGHS](https://highs.dev) (free software) via [highspy](https://pypi.org/project/highspy).

[NumPy v2 support]: https://support.gurobi.com/hc/en-us/articles/25787048531601-Compatibility-issues-with-numpy-2-0

## Examples

The [GitHub wiki] includes documentation written by which explains the usage and parameters in more detail, alongside some worked examples (the code for which is in [`examples/`](examples/)). This includes a realistic simulated example from [Gregor Gorjanc] and [Ivan Pocrnić].
The [GitHub wiki] includes documentation written by which explains the usage and parameters in more detail, alongside some worked examples (the data for which is in [`examples/`](examples/)). This includes a realistic simulated example from [Gregor Gorjanc] and [Ivan Pocrnić].

[GitHub wiki]: https://github.com/Foggalong/RobustOCS/wiki
[Gregor Gorjanc]: https://www.ed.ac.uk/profile/gregor-gorjanc
Expand Down
3 changes: 3 additions & 0 deletions robustocs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
from .solvers import *
from .utils import *

__author__ = "Josh Fogg"
__version__ = "0.0.1"

# controls what's imported on `from robustocs import *`
__all__ = [
# from loaders.py
Expand Down

0 comments on commit 0c47d36

Please sign in to comment.