-
Enhancement
-
Resolution: Done
-
Minor
-
None
The cheaptime example has 2 scoring implementations: easy java and incremental java. It should also get a drools scoring implementation, just like all the other examples.
Preperation:
- Run CheapTimeApp on your machine
- Grok the CheapTime example. Read section 3.4.4 in the manual: http://docs.jboss.org/drools/release/latest/optaplanner-docs/html_single/index.html#cheapTimeScheduling
- If needed, also read the original definition PDF: http://iconchallenge.insight-centre.org/task.html
- Take a look at CheapTimeEasyScoreCalculator
Instructions:
- Next to cheapTimeSolverConfig.xml, add a cheapTimeScoreRules.drl. Tip: copy paste cloudBalancingScoreRules.drl and adjust it accordingly to keep the same style
- In cheapTimeSolverConfig.xml, enable it. Tip: look at how cloudBalancingSolverConfig.xml does.
- Add all required constraints in cheapTimeScoreRules.drl.
- Run CheapTimeApp
- In cheapTimeSolverConfig.xml, enable environmentMode FAST_ASSERT (and later also FULL_ASSERT) together with an assertionScoreDirectorFactory (see commented code) that uses easyScoreCalculatorClass CheapTimeEasyScoreCalculator. Run CheapTimeApp. It should not throw any exceptions if your rules are correct.
- Run CheapTimeApp without that environmentMode (so normal run) and write down your average calculate count per second (ACC), shown in the last logging statement (after a 5 minute run).