Opened 5 years ago

Closed 5 years ago

#1864 closed enhancement (done)

Problems should provide more than operators to algorithms

Reported by: ascheibe Owned by: mkommend
Priority: medium Milestone: HeuristicLab 3.3.7
Component: Optimization Version: 3.3.7
Keywords: Cc:

Description

Currently IProblem provides a collection of IOperators which an algorithm can query. We should change this to IItems which would enable algorithms to use problem-specific functionality which is not an operator. The current use case are diversity measures which are not operators but used by other operators.

Change History (10)

comment:1 Changed 5 years ago by ascheibe

  • Status changed from new to accepted

comment:2 Changed 5 years ago by ascheibe

r7999

  • switched IOperators collection to IItems
  • adapted algorithms and problems
  • added AfterDeserialization hooks for problem, external evaluation problem and user-defined problem

comment:3 Changed 5 years ago by ascheibe

  • Owner changed from ascheibe to mkommend
  • Status changed from accepted to reviewing

comment:4 Changed 5 years ago by mkommend

r8004: Corrected deserialization of the operator collection.

comment:5 Changed 5 years ago by abeham

I wonder why the scheduling branch didn't fail.

comment:6 follow-up: Changed 5 years ago by ascheibe

I just checked the scheduling and MetaOpt branch, they compile and there are also no potential problems that could result from trying to cast IItem to IOperator. Scheduling doesn't fail because it doesn't implement it's own operators collection like some other problems do.

Last edited 5 years ago by ascheibe (previous) (diff)

comment:7 in reply to: ↑ 6 Changed 5 years ago by ascheibe

Replying to ascheibe:

I just checked the scheduling and MetaOpt branch, they compile and there are also no potential problems that could result from trying to cast IItem to IOperator. Scheduling doesn't fail because it doesn't implement it's own operators collection like some other problems do.

And the same thing also holds for MetaOpt.

Last edited 5 years ago by ascheibe (previous) (diff)

comment:8 Changed 5 years ago by mkommend

  • Owner changed from mkommend to ascheibe

I reviewed the changes in r7999 and everything works. As I have also made changes in r8004 I forward this ticket to you for another revi

comment:9 Changed 5 years ago by ascheibe

  • Owner changed from ascheibe to mkommend
  • Status changed from reviewing to readytorelease

I have reviewed the changes. Looks good, thanks.

comment:10 Changed 5 years ago by mkommend

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