Skip to content

feat(mo): add moRealVectorNeighbor for continuous local search#83

Open
evvaletov wants to merge 1 commit intonojhan:masterfrom
evvaletov:feat/eo-time-continuator-tracking
Open

feat(mo): add moRealVectorNeighbor for continuous local search#83
evvaletov wants to merge 1 commit intonojhan:masterfrom
evvaletov:feat/eo-time-continuator-tracking

Conversation

@evvaletov
Copy link

@evvaletov evvaletov commented Feb 17, 2026

Summary

Adds moRealVectorNeighbor (mo/src/neighborhood/): a neighbor type for
real-valued vector solutions with delta-based forward/backward moves via
moBackableNeighbor. Follows the same <EOT, Fitness> template convention
as moIndexNeighbor.

Motivation

Paradiseo's MO module has neighbor types for index-based and bit-based
representations but nothing for real-valued vectors.
moRealVectorNeighbor is needed by the real-valued neighborhood explorer
in a follow-up PR (#87).

Changes

File Type
mo/src/neighborhood/moRealVectorNeighbor.h New

Additive only — no existing files modified.

@nojhan
Copy link
Owner

nojhan commented Feb 27, 2026

Hi! Thanks for the contributions, it's really welcomed!

However, I cannot do a code review, because the PR contains almost all Paradiseo history, which completely breaks Github's review feature. Can you make a new branch from HEAD, cherry-pick your contributions in two commits and then force push on the PR branch?

@nojhan
Copy link
Owner

nojhan commented Feb 27, 2026

From the content description, here is what I can say:

  • The continuous neighborhood is a cool feature which was missing.
  • I think the continuator can be achieve by composing other operators.

About this last remark: Paradiseo is designed so that you can always assemble atomic operators to make one with broader feature set. Here, you want to make a continuator (or maybe just a monitor? I'm not sure) with two features. The right approach would thus be to combine the operator counting seconds with the one counting generations, not to have a new one that combine the two. Once understood, you will be able to combine even more continuators/monitors... That's the beauty of Paradiseo :-)

moRealVectorNeighbor: neighbor type for real-valued vector solutions
with delta-based forward/backward moves via moBackableNeighbor.
@evvaletov evvaletov force-pushed the feat/eo-time-continuator-tracking branch from 147d1db to bf9f093 Compare March 1, 2026 00:54
@evvaletov evvaletov changed the title feat(eo,mo): add generation-tracking time continuator and real vector neighbor feat(mo): add moRealVectorNeighbor for continuous local search Mar 1, 2026
@evvaletov
Copy link
Author

You're right, the continuator is a composition problem, not a new class. I've removed eoSecondsElapsedTrackGenContinue from this PR. The generation count is already available through eoIncrementorParam wired into the checkpoint, exactly as make_checkpoint.h demonstrates.

The PR now contains only moRealVectorNeighbor, which you mentioned was a missing piece.

I've also rebased onto HEAD so the diff is reviewable. Sorry about the history mess: the fork had a divergent merge commit from 2013 that gave every subsequent commit a different SHA.

Copy link
Owner

@nojhan nojhan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome. Only very minor comments, the code is good.

/*
<moRealVectorNeighbor.h>
Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010
(C) OPAC Team, LIFL, 2002-2007
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This header is at least wrong on the dates. And there should be only one copyright mention.

knowledge of the CeCILL license and that you accept its terms.

ParadisEO WebSite : http://paradiseo.gforge.inria.fr
Contact: paradiseo-help@lists.gforge.inria.fr
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Website and contact are also wrong (maybe this will be fixed by PR #88 ?).

#include <ostream>

/**
* Neighbor for real-valued vector solutions.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs an empty line after the summary line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants