Skip to main content

FreeWheel Linear Programming Interface for Python

Project description

Flipy

flipy_logo_60pt

supported Build Status Coverage

Flipy is a Python linear programming interface library, originally developed by FreeWheel. It currently supports Gurobi and CBC as the backend solver.

To use Gurobi, make sure you have a Gurobi license file, and gurobipy is installed in your Python environment. You can find details from Gurobi’s documentation.

Flipy requires Python 3.6 or newer.

Installation

The latest offical version of Flipy can be installed with pip:

pip install flipy

The latest development version can be get with Git:

git clone https://github.com/freewheel/flipy.git
cd flipy
python setup.py install

Quickstart

Here is a simple example for Flipy:

import flipy

# 1 <= x <= 3.5
x = flipy.LpVariable('x', low_bound=1, up_bound=3.5)
# 2 <= y <= 4
y = flipy.LpVariable('y', low_bound=2, up_bound=4)

# 5x + y <= 12
lhs = flipy.LpExpression('lhs', {x: 2.5, y: 1})
rhs = flipy.LpExpression('rhs', constant=12) 
constraint = flipy.LpConstraint(lhs, 'leq', rhs)

# maximize: 3x + 2y
objective = flipy.LpObjective('test_obj', {x: 3, y: 2}, sense=flipy.Maximize)
problem = flipy.LpProblem('test', objective, [constraint])

solver = flipy.CBCSolver()
status = solver.solve(problem)

Get the solution

After solving, a status is returned to indicate whether the solver has found a optimal solution for the problem:

print(status)
# <SolutionStatus.Optimal: 1>

The objective value can be retrieved with objective.evaluate():

print(objective.evaluate())
# 17.6

The value of variables can be retrieved with .evaluate() as well:

print(x.evaluate())
# 3.2
print(y.evaluate())
# 4.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for flipy, version 0.0.5
Filename, size File type Python version Upload date Hashes
Filename, size flipy-0.0.5-py3-none-any.whl (13.5 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size flipy-0.0.5.tar.gz (13.3 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page