Causara: AI-powered Optimization
Support: support@causara.com
Website: https://www.causara.com
Causara is a Python package for optimizing ANY function using mathematical solvers. We specialize in highly complex problems that involve simulations or other non-standard objectives. Additionally, for existing Pyomo models, we can leverage our technology to significantly accelerate the optimization process and to fine-tune the models on real-world data. We use artificial intelligence and machine learning to create high-precision surrogate models. These models are significantly easier and faster to optimize than the original, complex systems, without sacrificing accuracy. The result: faster, better, and more robust solutions.
Installation
Install Causara via pip:
pip install causara
Creating a free licence key
import causara
causara.create_key("your_email@example.com")
Quickstart
Simple proof of concept demo:
from causara import *
import numpy as np
def simple_demo(p, c, x):
coef = p["coef"]
var = x["var"]
assert var[0] < var[1] and np.sum(var) == 10
return coef * var[0] + var[0] * var[1]
def get_decision_vars(p, c):
decision_vars = DecisionVars()
# Here we create two integer variables with name "var" and bounds [-10,+10]
decision_vars.add_integer_vars("var", 2, minimum=-10, maximum=+10)
return decision_vars
model = Model(key="your_key", model_name="demo", solver="scip") # insert your key here and provide a model name
model.compile(decision_vars_func=get_decision_vars, # the decision_vars_func
obj_func=simple_demo, # the objective function
P_val=[{"coef": 1.0}], # a list of problems p for validating the correctness
sense=MINIMIZE) # the sense (either causara.MINIMIZE or causara.MAXIMIZE)
# After compiling we can solve a new problem instance p={"coef": 1.5}
data = model.optimize(p={"coef": 1.5}) # Return value of the optimize(.) method is an object of type Data
print(f"Optimal x: {data.list_of_x[0]}")
print(f"Optimal value: {data.pyomo_values[0]}")
LICENSE
This project is licensed under the terms provided in LICENSE.txt
Metadata
Release files for causara 3.4.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| causara-3.4.6.tar.gz | 51.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| causara-3.4.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 103.4 MB
Release files / causara-3.4.6.tar.gz
| Download URL | causara-3.4.6.tar.gz |
|---|---|
| Size | 51.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dc6ce97f382a044a7e21b21928fe583035525737b3aa0be3b96b27816a7c0cd7
|
|
BLAKE2b-256 checksum How to use checksums |
14bf090399f5c7bf8c10b364a935be89a1d01790b986f7905e5e8885664b660b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|
Release files / causara-3.4.6-py3-none-any.whl
| Download URL | causara-3.4.6-py3-none-any.whl |
|---|---|
| Size | 51.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
837ea12fabe501f8709d130d0c3ed2f35bbc297e147c8b9061d481030453ab68
|
|
BLAKE2b-256 checksum How to use checksums |
657c7f1432d05c108604b0baada43d0aeb2df4a9a779e3f9953b1c7bdc656b83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|