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.

Source Distribution

plend-0.1.4.tar.gz (7.9 kB view hashes)

Uploaded Source

Built Distribution

plend-0.1.4-py3-none-any.whl (8.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page