ROOC documentation
ROOC is a language designed to help you formalize problems and solve them through optimization algorithms. Your goal is to write the problem as a optimization model, and ROOC will automatically find the best solution for it.
Getting started
If you are looking for the typescript library documentation, look Here
If you are looking for the rust library documentation, look Here
These documentation pages are structured to help learn how ROOC works, guiding you through the syntax and how to create your own models.
Why Would You Use ROOC?
Picture any scenario where you're faced with making the best of limited resources. There any are number of domains where we often face these kind of decisions, but we'll start with a trip for groceries.
You have a $50 store coupon and need to buy your groceries for the week. Your shopping list includes:
- At least 3 fruits
- At least 2 vegetables
- At least 1 dairy product
Each item has a cost:
- Apples: $4
- Bananas: $3
- Carrots: $2
- Spinach: $3
- Milk: $5
- Cheese: $6
Your goal is to select items that meet the requirements and spend at least the full coupon, but you want to minimize spending more than the coupon value.
With ROOC you can formalize and solve this problem. Look how to do it here.
Contributing
If you want to contribute to the project, you can find the source code on Github.
Limitations
The maximum length of an expression is about 6000 elements, so extremely big models might give errors when compiling if they are too big.