Skip to main content

Least Cost Formulation with Python

Project description

plend

License Python package

Plend is a library for performing least cost formulation with Python. Plend uses PuLP to solve formula constraint problems.

Installation

$ pip install git+https://github.com/bherbruck/plend

or

$ pip install plend

Examples

from plend import Formula, Ingredient, Nutrient
from plend.presets.poultry import *

# initialize formula
starter = Formula(name='Starter', batch_size=100)

# add ingredient constraints from poultry presets
starter.add_ingredient(corn, minimum=1)
starter.add_ingredient(soybean_meal)
starter.add_ingredient(oil, maximum=5)
starter.add_ingredient(limestone)
starter.add_ingredient(meat_meal, maximum=10)

# add nutrient constraints from poultry presets
starter.add_nutrient(energy, minimum=3000)
starter.add_nutrient(protein, minimum=20)
starter.add_nutrient(fiber)
starter.add_nutrient(calcium, minimum=4, maximum=5)

# optimize the formula
starter.optimize()

# output the formula to a csv
print(starter.to_csv())

outputs:

library_name formula_name formula_code formula_cost formula_status item_type item_name item_code item_amount item_minimum item_maximum
default Starter 67.16379819 Optimal ingredient Corn 54.882934 1
default Starter 67.16379819 Optimal ingredient Soybean Meal 22.674542 0
default Starter 67.16379819 Optimal ingredient Oil 4.1552541 0 5
default Starter 67.16379819 Optimal ingredient Limestone 8.2872701 0
default Starter 67.16379819 Optimal ingredient Meat Meal 10.0 0 10
default Starter 67.16379819 Optimal nutrient Energy 3000.0000038 3000
default Starter 67.16379819 Optimal nutrient Protein 20.00000021 20
default Starter 67.16379819 Optimal nutrient Fiber 2.05230961 0
default Starter 67.16379819 Optimal nutrient Calcium 4.0000000154 4 5

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 plend, version 0.1.4
Filename, size File type Python version Upload date Hashes
Filename, size plend-0.1.4-py3-none-any.whl (8.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size plend-0.1.4.tar.gz (7.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page