I can’t understand what “solutionCompletenessRatio” is for , in the LocalActivityInsertionCosts and other classes.
Thanks in advance .
The ruin strategy removes lets say 50 percent of jobs from an existing solution. Thus before inserting the first job, solutionCompletenessRatio is 0.5 and after inserting the last job of the removed ones, solutionCompletenessRation is 1.0. Sometimes it might make sense to differentiate between insertion phases. For example, it might make sense to neglect the fixed costs of a big vehicle if solutionCompletenessRatio is 0.5 since there will be many other jobs to be inserted. However, if solutionCompletionessRatio converges 1.0, you probably want to consider fixed costs, and want to somehow penalyze adding a new big vehicle to your solution.
Hope this helps.
Thank you for your reply
I understand the logic now, but it still bothering me.
If we use the JobInsertionConsideringFixCostsCalculator Class, it makes sense.
However, in LocalActivityInsertionCostsCalculator Class, why do we need to use solutionCompletenessRatio with WaitingTimeCosts
totalCosts = tp_costs_prevAct_newAct + tp_costs_newAct_nextAct + solutionCompletenessRatio * activityCostsWeight * (act_costs_newAct + act_costs_nextAct);
If many activities still need to be inserted, I do not care about waiting times. Since every subsequent activity insertion might reduce total waiting times. However, if there are only a few activities to be inserted, I want to insert them such that waiting times are avoided. Thus, the weight of waiting time costs increase with the solution completeness ratio. Feel free to analyse whether this makes a difference.
Thank you, it’s clear now.