Opened 4 years ago

Closed 4 years ago

#1984 closed defect (done)

TabuMaker throws an exception if TabuTenure is less than or equal to 0

Reported by: jkarder Owned by: abeham
Priority: low Milestone: HeuristicLab 3.3.8
Component: Optimization.Operators Version: 3.3.8
Keywords: Cc:

Description

If the TabuTenure is less than or equal to 0, the operator tries to remove an element at a negative index.

Stack trace:

ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at HeuristicLab.Collections.ObservableList`1.RemoveAt(Int32 index) in C:\public\Reps\HL\trunk\sources\HeuristicLab.Collections\3.3\ObservableList.cs:line 270
   at HeuristicLab.Optimization.Operators.TabuMaker.Apply() in C:\public\Reps\HL\trunk\sources\HeuristicLab.Optimization.Operators\3.3\TabuMaker.cs:line 73
   at HeuristicLab.Operators.Operator.Execute(IExecutionContext context, CancellationToken cancellationToken) in C:\public\Reps\HL\trunk\sources\HeuristicLab.Operators\3.3\Operator.cs:line 123
   at HeuristicLab.SequentialEngine.SequentialEngine.Run(CancellationToken cancellationToken) in C:\public\Reps\HL\trunk\sources\HeuristicLab.SequentialEngine\3.3\SequentialEngine.cs:line 60

Change History (4)

comment:1 Changed 4 years ago by abeham

  • Status changed from new to accepted

comment:2 Changed 4 years ago by abeham

  • Owner changed from abeham to jkarder
  • Status changed from accepted to reviewing

r9001: Fixed handling of tabu tenures that are equal to or smaller than 0

  • equal to 0 will not invoke tabu attribute calculation
  • lower than 0 will throw an InvalidOperationException

comment:3 Changed 4 years ago by jkarder

  • Owner changed from jkarder to abeham
  • Status changed from reviewing to readytorelease

Looks good, thanks for the fix!

comment:4 Changed 4 years ago by swagner

  • Resolution set to done
  • Status changed from readytorelease to closed
  • Version changed from 3.3.7 to 3.3.8
Note: See TracTickets for help on using tickets.