optapy / optapy-quickstarts

OptaPy quick starts for AI optimization: showcases many different use cases.
Apache License 2.0
20 stars 14 forks source link

optapy-quickstarts: cloud balancing #1

Open aderumier opened 2 years ago

aderumier commented 2 years ago

Hi,

Thanks for porting optaplanner to python.

I could be great to have a basic quickstart for cloud balancing https://docs.optaplanner.org/7.0.0.Beta1/optaplanner-docs/html/ch02.html https://www.optaplanner.org/learn/useCases/cloudOptimization.html

It could be really usefull for a lot opensource hypervisors or cloud solution. (I'm looking to implement it for proxmox clusters)

Christopher-Chianelli commented 2 years ago

Current plans are to expose the remainder of OptaPlanner functionality (IIRC the only things needed in main are custom shadow variables, strength comparators, easy score calculator, and incremental score calculator), add testing and add an Employee Rostering Quickstart. A Cloud Balancing Quickstart would be interesting.

FWIW, the OptaPlanner Cloud Balancing example can be found in the OptaPlanner repo. Of particular interest are the domain classes and the Constraint Provider. It should be easy to convert the OptaPlanner example to an OptaPy one (replace @PlanningEntity with @optapy.planning_entity, etc).

It'll probably be a while before I can get to this, although I'll happily review any PR that adds this quickstart (or any quickstart).

aderumier commented 2 years ago

I could test && review a PR too, implementing it with real workload && vms. (I have some 10000 vms clusters).

I'm pretty poor in java && maths, but I'm able to understand the other python examples without too much problem for review.