Code Monkey home page Code Monkey logo

gurobi-modelanalyzer's Introduction

โš  Warning

This code is in a pre-release state. It may not be fully functional and breaking changes can occur without notice.

Gurobi Model Analyzer

Gurobi Model Analyzer is an open-source python package that provides detailed analysis of model solutions and model characteristics. Version 1.0 consists of a results_analyzer module that calculates explanations of ill-conditioned basis matrices.

Note: At the moment this repository is public, but final docs configuration and packages is not yet finished. We recommend that you hold off on using it until version 1.0 is announced as available.

Documentation

The latest user manual is available on readthedocs.

Contact us

For questions related to using Gurobi Model Analyzer, please use Gurobi's Forum.

For reporting bugs, issues, and feature requests please open an issue.

If you encounter issues with Gurobi or gurobipy please contact Gurobi Support.

Installation

Dependencies

  • Python >= 3.9
  • numpy >= 1.21.5 (although earlier versions compatible with python 3.7 will probably work).

Pip installation

The easiest way to install gurobi-modelanalyzer is using pip in a virtual environment:

(.venv) pip install gurobi-modelanalyzer

This will also install the numpy and gurobipy dependencies.

Please note that gurobipy is commercial software and requires a license. When installed via pip or conda, gurobipy ships with a free license for testing and can only solve models of limited size.

Then use the explainer functions. Example usage

import gurobipy as gp
import model_analyzer.results_analyzer as ra
model=gp.read("myillconditionedmodel.mps")
model.optimize()
ra.kappa_explain(model)

# row-based explanation (default)
ra.kappa_explain(model, expltype="ROWS")

# column-based explanation
ra.kappa_explain(model, expltype="COLS")

# angle-based explanation (only looks for pairs of rows or columns
# that cause ill-conditioning.
ra.angle_explain(model)

Use help(ra.kappa_explain) or help(ra.angle_explain) for information on more advanced usage.

Getting a Gurobi License

Alternatively to the bundled limited license, there are licenses that can handle models of all sizes.

As a student or staff member of an academic institution you qualify for a free, full product license. For more information, see:

For a commercial evaluation, you can request an evaluation license.

Other useful resources to get started:

Development

We value any level of experience in using Gurobi Model Analyzer and would like to encourage you to contribute directly to this project. Please see the Contributing Guide for more information.

Source code

You can clone the latest sources with the command:

git clone [email protected]:Gurobi/gurobi-modelanalyzer.git

Testing

Submitting a Pull Request

Before opening a Pull Request, have a look at the full Contributing page to make sure your code complies with our guidelines.

gurobi-modelanalyzer's People

Contributors

edklotz avatar mattmilten avatar simonbowly avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.