<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">Op 08-01-13 15:24, Michiel Vermandel
      schreef:<br>
    </div>
    <blockquote
      cite="mid:1357655047.91611.YahooMailNeo@web161305.mail.bf1.yahoo.com"
      type="cite">
      <div style="color:#000; background-color:#fff; font-family:tahoma,
        new york, times, serif;font-size:10pt">Hi,<br>
        <br>
        I'm trying to implement a basic local search (really new to it).<br>
        <br>
        When I run my project I now get:<br>
        <br>
        Exception in thread "main" java.lang.IllegalStateException:
        Phase localSearch started with an uninitialized Solution. First
        initialize the Solution. For example, run a phase
        constructionHeuristic first.<br>
        &nbsp;&nbsp;&nbsp; at
org.drools.planner.core.localsearch.DefaultLocalSearchSolverPhase.phaseStarted(DefaultLocalSearchSolverPhase.java:120)<br>
      </div>
    </blockquote>
    You have a construction heuristic configured, so all
    @PlanningVariable's should be different from null after that phase
    is ended.<br>
    So when the local search phase starts, that check should be ok and
    not throw that exception.<br>
    <br>
    Comment out local search, write the solution to disk an verify that
    all planning variables are now not null.<br>
    Or debug where that exception is throw and inspect
    phaseScope.getSolverScope().getScoreDirector().getWorkingSolution().<br>
    <blockquote
      cite="mid:1357655047.91611.YahooMailNeo@web161305.mail.bf1.yahoo.com"
      type="cite">
      <div style="color:#000; background-color:#fff; font-family:tahoma,
        new york, times, serif;font-size:10pt"><br>
        This is my config:<br>
        <br>
        &lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>
        &lt;solver&gt;<br>
        &nbsp;&nbsp;&nbsp; &lt;environmentMode&gt;DEBUG&lt;/environmentMode&gt;<br>
        <br>
        &nbsp;&nbsp;&nbsp; &lt;!-- Domain model configuration --&gt;<br>
        &nbsp;&nbsp;&nbsp;
&lt;solutionClass&gt;be.axi.planner.app.InspectionSchedule&lt;/solutionClass&gt;<br>
        &nbsp;&nbsp;&nbsp;
&lt;planningEntityClass&gt;be.axi.planner.domain.Task&lt;/planningEntityClass&gt;<br>
        <br>
        &nbsp;&nbsp;&nbsp; &lt;!-- Score configuration --&gt;<br>
        &nbsp;&nbsp;&nbsp; &lt;scoreDirectorFactory&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        &lt;scoreDefinitionType&gt;HARD_AND_SOFT&lt;/scoreDefinitionType&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;scoreDrl&gt;/inspectionRules.drl&lt;/scoreDrl&gt;<br>
        &nbsp;&nbsp;&nbsp; &lt;/scoreDirectorFactory&gt;<br>
        <br>
        &nbsp;&nbsp;&nbsp; &lt;constructionHeuristic&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&lt;constructionHeuristicType&gt;BEST_FIT_DECREASING&lt;/constructionHeuristicType&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;!--
constructionHeuristicPickEarlyType&gt;FIRST_LAST_STEP_SCORE_EQUAL_OR_IMPROVING&lt;/constructionHeuristicPickEarlyType--&gt;<br>
        &nbsp;&nbsp;&nbsp; &lt;/constructionHeuristic&gt;<br>
        <br>
        &nbsp;&nbsp;&nbsp; &lt;localSearch&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;termination&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&lt;terminationCompositionStyle&gt;OR&lt;/terminationCompositionStyle&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        &lt;maximumSecondsSpend&gt;3600&lt;/maximumSecondsSpend&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        &lt;scoreAttained&gt;0hard/0soft&lt;/scoreAttained&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/termination&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;unionMoveSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;changeMoveSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;valueSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        &lt;planningVariableName&gt;period&lt;/planningVariableName&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/valueSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/changeMoveSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;changeMoveSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;valueSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        &lt;planningVariableName&gt;spector&lt;/planningVariableName&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/valueSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/changeMoveSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;changeMoveSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;valueSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        &lt;planningVariableName&gt;type&lt;/planningVariableName&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/valueSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/changeMoveSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;swapMoveSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/swapMoveSelector&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/unionMoveSelector&gt;<br>
        <br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;acceptor&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        &lt;planningEntityTabuSize&gt;7&lt;/planningEntityTabuSize&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/acceptor&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;forager&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
        &lt;minimalAcceptedSelection&gt;1000&lt;/minimalAcceptedSelection&gt;<br>
        &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/forager&gt;<br>
        &nbsp;&nbsp;&nbsp; &lt;/localSearch&gt;<br>
        <br>
        &lt;/solver&gt;<br>
        <div><span></span></div>
        <div>&nbsp;Any thoughts on what I'm doing wrong?<br>
          <br>
          Thanks<br>
          <br>
          Michiel<br>
        </div>
        <div>-----------------<br>
          <a class="moz-txt-link-freetext" href="http://www.codessentials.com">http://www.codessentials.com</a> - Your essential software, for
          free!<br>
          Follow us at <a class="moz-txt-link-freetext" href="http://twitter.com/#!/Codessentials">http://twitter.com/#!/Codessentials</a></div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>