Re: [rules-users] SimpleScoreCalculator

2013-02-21 Thread André Fróes
Wrong result, i didn't enable the skill hard constraint there, this is the result, its the opposite of that, everything is feasible: ID: 104[Skills: ABC 2,] -- Priority: P3 - Andre(8)[Skills: ABC 1,ABC 2,] -- Feasible(0) ID: 103[Skills: ABC 1,ABC 2,ABC 3,ABC 4,] -- Priority: P1 - Denny(8

Re: [rules-users] SimpleScoreCalculator

2013-02-21 Thread André Fróes
I forgot to mention that, if the hard constraint is broken, it breaks all the planning to. ID: 104[Skills: ABC 2,] -- Priority: P3 - Fabio(8)[Skills: ABC 3,ABC 1,] -- Broken(1) ID: 103[Skills: ABC 1,ABC 2,ABC 3,ABC 4,] -- Priority: P1 - Andre(8)[Skills: ABC 1,ABC 2,] -- Broken(2) ID:

Re: [rules-users] SimpleScoreCalculator

2013-02-21 Thread André Fróes
in that case, i just want to leave it unassigned or (and) add it to a list of unassigned workorders, so I can get it and resort to another set of engineers. 2013/2/21 Geoffrey De Smet > > Op 21-02-13 12:54, André Fróes schreef: > > Sure. My sorting by worktime and skills is partially working, i

Re: [rules-users] SimpleScoreCalculator

2013-02-21 Thread Geoffrey De Smet
Op 21-02-13 12:54, André Fróes schreef: Sure. My sorting by worktime and skills is partially working, if I do my planning with a certain number of engineers/workorders that fits in each other, it works perfectly, If i overcome that, it breaks the planning, it keeps showing the data that should

Re: [rules-users] SimpleScoreCalculator

2013-02-20 Thread André Fróes
I added another variable to check if it would still show the broken constraint and break the planner, and it still happens, I added this: WorkOrder wo33 = new WorkOrder(103l, 8, Priority.P1, Nature.CORRECTIVE); SkillWorkOrder swo333 = new SkillWorkOrder(20333l, wo33, ABC1); SkillWorkOrder swo3332

Re: [rules-users] SimpleScoreCalculator

2013-02-20 Thread André Fróes
Problem solved (still I think so): It was simpler (if i'm right): List tempEngSkillList = new ArrayList(); for (SkillEngineer se : e.getSkillEngineerList()){ tempEngSkillList.add(se.getSkill()); } if (tempEngSkillList.containsAll(requiredSkillList)){ hardScore += 1; } the result

Re: [rules-users] SimpleScoreCalculator

2013-02-20 Thread André Fróes
Not fixed, i threw it on excel and make a comparison with expected results and there are 2 broken there. This is how it would be (feasible solution): ID 101 - Engineer Richard ID 102 - Engineer Andre ID 103 - Engineer Denny ID 104 - Engineer Andre ID 105 - Engineer Andre ID 106 - Engineer Andre ID

Re: [rules-users] SimpleScoreCalculator

2013-02-20 Thread André Fróes
I think I fixed it, but the broken constraint is still showing, i don't know how to remove it. I did this: verified if the engineer skill list had the same size or bigger than the requiredSkillList, iterate to check skills between both counting the matches and then, if the match was 100% to other,

Re: [rules-users] SimpleScoreCalculator

2013-02-20 Thread André Fróes
After some workaround I noticed that the workorders are not being 100% corretly distributed to, i've changed the scorecalculator to this: int commonSkillCount = 0; for (Skill s : requiredSkillList){ for (SkillEngineer se : e.getSkillEngineerList()){ if (se.getSkill().getId() == s.getId()){ commonS

Re: [rules-users] SimpleScoreCalculator

2013-02-19 Thread André Fróes
I forgot to post the code: public HardAndSoftScore calculateScore(Distributor distributor) { int hardScore = 0; int softScore = 0; for (Engineer e : distributor.getEngineerList()){ long skill = e.getSkillEngineerList().get(0).getSkill().getId(); int requiredWorktime = 0; List requiredSkillList =

Re: [rules-users] SimpleScoreCalculator

2013-02-19 Thread André Fróes
I managed solving that problem even when there's more than one skill involved, but now my hard constraint of worktime breaks if I add more worktime than the sum of engineers worktime. (8) is the worktime, my workorders all have a worktime of 4 hours, so, I got 32 available hours and 32 hours of wo

Re: [rules-users] SimpleScoreCalculator

2013-02-19 Thread André Fróes
Just one correction, it is sorting correctly when there's one workorder with a skill, if there's another workorder with same skill, it doesn't sort that workorder to that skill. This is what is happening: Workorder skill ABC1 Engineer skill ABC1 Workorder skill ABC2 ---

[rules-users] SimpleScoreCalculator

2013-02-19 Thread André Fróes
Hello, since i'm not moving a step from where I am at dsl rule, I'm trying to do it with SimpleScoreCalculator, but the same is happening. public HardAndSoftScore calculateScore(Distributor distributor) { int hardScore = 0; int softScore = 0; for (Engineer e : distributor.getEngineer