[rules-users] Starting optaplanner with your own initialized solution

Mattias Nilsson Grip mattias.nilsson.grip at redpill-linpro.com
Thu Aug 21 06:27:59 EDT 2014


Hi,

OptaPlanner should be able to start with your initialized solution and let localSearch attempt to optimize it. You should not need to have a custom solver phase for this.

Is your score calculation correct? What is the score of the solution when you run with actual start time populated vs when you leave start time as null?

If you turn on debug logging for package org.optaplanner you should get some more info on what goes on inside the solver.

Regards,
Mattias

----- Original Message -----
> From: "paavanm" <paavan.mathur at clairvoyantsoft.com>
> To: rules-users at lists.jboss.org
> Sent: Wednesday, 20 August, 2014 11:42:56 PM
> Subject: [rules-users] Starting optaplanner with your own initialized	solution
> 
> I have a relatively simple question. How do I have OptaPlanner use my own
> initialized solution as a starting point instead of having a construction
> heuristic create one? Does this have to be done with a custom SolverPhase?
> 
> A little more detail on what I'm trying to do: I am scheduling a series of
> classes and related activities on a calendar. Let's say I have some class
> BA101 that occurs several times a week (these classes are immovable
> entities). There are homeworks, exams etc. associated with these classes
> which I need to schedule. E.g. on Feb 1st, a homework might be due, or on
> Mar 1st, there might be an exam. So I need to schedule time to do the
> homework or time to study for the exam. My initial solution for this would
> be very simple: I would schedule the homework/study time at the same time of
> the class itself, and let optaplanner move it around till it meets my hard &
> soft constraints.
> 
> However, when I tried to do that (i.e. give my homework/study tasks an
> actual start time instead of just leaving the start time as null),
> OptaPlanner fell right through without actually making any moves to find the
> best score. How do I do this? This is my config at the moment, pretty basic
> (tried this with & without the construction heuristic; same result):
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <solver>
> 
>     
>    
> <solutionClass>com.copilot.optaplanner.domain.ActivityScheduler</solutionClass>
>    
> <planningEntityClass>com.copilot.optaplanner.domain.Activity</planningEntityClass>
> 
>     
>     <scoreDirectorFactory>
>         <scoreDefinitionType>HARD_SOFT</scoreDefinitionType>
>        
> <simpleScoreCalculatorClass>com.copilot.optaplanner.solver.score.ActivitySchedulingSimpleScoreCalculator</simpleScoreCalculatorClass>
>     </scoreDirectorFactory>
> 
>     
>     <termination>
>         <maximumSecondsSpend>10</maximumSecondsSpend>
>     </termination>
> 
>     <constructionHeuristic>
>         <constructionHeuristicType>FIRST_FIT</constructionHeuristicType>
>     </constructionHeuristic>
> 
>     <localSearch>
>         <acceptor>
>             <entityTabuSize>7</entityTabuSize>
>         </acceptor>
>         <forager>
>             <acceptedCountLimit>1000</acceptedCountLimit>
>         </forager>
>     </localSearch>
> 
> </solver>
> 
> Thanks for any assistance.
> 
> 
> 
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/Starting-optaplanner-with-your-own-initialized-solution-tp4030697.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
> 

-- 
Mattias Nilsson Grip
Redpill Linpro AB - Changing the game
Tel: +46 734 09 22 34


More information about the rules-users mailing list