frePPLe / frepple

frePPLe - open source supply chain planning
https://frepple.com
Other
536 stars 259 forks source link

Resource wasn't choosen based on priority #384

Closed petrakozielova closed 3 years ago

petrakozielova commented 3 years ago

Hello, I have following problem: In your documentation there is this information about priority of material resources: "When search mode is set to priority, frePPLe will pick the resources by priority (lowest values first, defined in resource skill table) as long as the demand is planned on time." In attached file there is example with two resources (Operators) which are basically the same (same owner, same calendar, both unconstrained,same skill at resource skills), only difference is their priority at resource skill table. I expected that the operation will be planned on the resource which has lower number of priority, but it didn't happen.

frepple(8).xlsx

jdetaeye commented 3 years ago

Analysis: Since all resources are marked unconstrained, the solver algorithm doesn't even try to search for best match of skill. The manufacturing is assigned by default to the most efficient resource that has the skill. Both resources have the same efficiency here, so the result is arbitrary.

Fix: I've enhanced the default assignment logic a bit for this case: when the efficiency is identical, the resource skill priority is used as a tie breaker.

petrakozielova commented 3 years ago

Hello,

thank you for your explanation. Does it mean that if resource is unconstrained, the planner ignores also minimal cost or penalty?

Ing. Petra Kozielová Vývoj software

ELVAC SOLUTIONS s.r.o. | Hasičská 53 | 700 30 Ostrava – Hrabůvka | ČESKÁ REPUBLIKA Email: @.**@.> www.elvacsolutions.euhttp://www.elvacsolutions.eu/ www.infopanels.euhttp://www.infopanels.eu/ www.techis.euhttp://www.techis.eu/

@.***

ELVAC SOLUTIONS

From: Johan De Taeye @.> Sent: Tuesday, August 3, 2021 9:35 AM To: frePPLe/frepple @.> Cc: Kozielová Petra @.>; Author @.> Subject: [SPAM] - Re: [frePPLe/frepple] Resource wasn't choosen based on priority (#384) - Email has different SMTP FROM: and MIME FROM: fields in the email addresses

Analysis: Since all resources are marked unconstrained, the solver algorithm doesn't even try to search for best match of skill. The manufacturing is assigned by default to the most efficient resource that has the skill. Both resources have the same efficiency here, so the result is arbitrary.

Fix: I've enhanced the default assignment logic a bit for this case: when the efficiency is identical, the resource skill priority is used as a tie breaker.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/frePPLe/frepple/issues/384#issuecomment-891610109, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUUXLWRBIEPFN5SJM7OCNBLT26LYVANCNFSM5BINQUCA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

jdetaeye commented 3 years ago

Does it mean that if resource is unconstrained, the planner ignores also minimal cost or penalty?

Correct. Minimal cost or minimal penalty are part of the capacity allocation / resource assignment part of the planning algorithm. For unconstrained resources or when running a capacity-unconstrained plan, we simply skip that part of the planning algorithm.

If you care about the assignment logic but not the capacity limit, you will need to mark the resources as constrained but setting a very high capacity limit.

petrakozielova commented 3 years ago

I have one more question – in case the resources have different efficiency, does search have higher priority? For example I have two resources R1 (efficiency 150%, resource skill priority=2) and R2(efficiency 100%,resource skill priority=1), both unconstrained – will frePPLe choose R2 based on lower priority value?

From: Johan De Taeye @.> Sent: Tuesday, August 3, 2021 10:15 AM To: frePPLe/frepple @.> Cc: Kozielová Petra @.>; Author @.> Subject: [SPAM] - Re: [frePPLe/frepple] Resource wasn't choosen based on priority (#384) - Email has different SMTP FROM: and MIME FROM: fields in the email addresses

Does it mean that if resource is unconstrained, the planner ignores also minimal cost or penalty?

Correct. Minimal cost or minimal penalty are part of the capacity allocation / resource assignment part of the planning algorithm. For unconstrained resources or when running a capacity-unconstrained plan, we simply skip that part of the planning algorithm.

If you care about the assignment logic but not the capacity limit, you will need to mark the resources as constrained but setting a very high capacity limit.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/frePPLe/frepple/issues/384#issuecomment-891636901, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUUXLWXPWCGEIJDIXVRBZFTT26QP3ANCNFSM5BINQUCA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

jdetaeye commented 3 years ago

For example I have two resources R1 (efficiency 150%, resource skill priority=2) and R2(efficiency 100%,resource skill priority=1), both unconstrained – will frePPLe choose R2 based on lower priority value?

In this example R1 will be selected. Priority is only used as a tie breaker when the efficiency is identical.

petrakozielova commented 3 years ago

Thank you for your answers.

From: Johan De Taeye @.> Sent: Tuesday, August 3, 2021 1:32 PM To: frePPLe/frepple @.> Cc: Kozielová Petra @.>; Author @.> Subject: [SPAM] - Re: [frePPLe/frepple] Resource wasn't choosen based on priority (#384) - Email has different SMTP FROM: and MIME FROM: fields in the email addresses

For example I have two resources R1 (efficiency 150%, resource skill priority=2) and R2(efficiency 100%,resource skill priority=1), both unconstrained – will frePPLe choose R2 based on lower priority value?

In this example R1 will be selected. Priority is only used as a tie breaker when the efficiency is identical.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/frePPLe/frepple/issues/384#issuecomment-891771634, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUUXLWQ6HFZI6YQJIL5AW73T27HUTANCNFSM5BINQUCA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.