fix(moBinaryPartition): finalize integration in <mo>
This commit is contained in:
parent
e23151d666
commit
cf086ea9b9
6 changed files with 23 additions and 9 deletions
|
|
@ -184,6 +184,10 @@
|
||||||
#include <problems/permutation/moTwoOptExNeighbor.h>
|
#include <problems/permutation/moTwoOptExNeighbor.h>
|
||||||
#include <problems/permutation/moTwoOptExNeighborhood.h>
|
#include <problems/permutation/moTwoOptExNeighborhood.h>
|
||||||
|
|
||||||
|
#include <problems/partition/moBinaryPartition.h>
|
||||||
|
#include <problems/partition/moBinaryPartitionSwapNeighbor.h>
|
||||||
|
#include <problems/partition/moBinaryPartitionSwapNeighborhood.h>
|
||||||
|
|
||||||
//#include <problems/eval/moMaxSATincrEval.h>
|
//#include <problems/eval/moMaxSATincrEval.h>
|
||||||
//#include <problems/eval/moOneMaxIncrEval.h>
|
//#include <problems/eval/moOneMaxIncrEval.h>
|
||||||
//#include <problems/eval/moQAPIncrEval.h>
|
//#include <problems/eval/moQAPIncrEval.h>
|
||||||
|
|
@ -193,7 +197,6 @@
|
||||||
//#include <problems/eval/moUBQPBitsIncrEval.h>
|
//#include <problems/eval/moUBQPBitsIncrEval.h>
|
||||||
//#include <problems/eval/moNKlandscapesIncrEval.h>
|
//#include <problems/eval/moNKlandscapesIncrEval.h>
|
||||||
|
|
||||||
|
|
||||||
#include <sampling/moAdaptiveWalkSampling.h>
|
#include <sampling/moAdaptiveWalkSampling.h>
|
||||||
#include <sampling/moAutocorrelationSampling.h>
|
#include <sampling/moAutocorrelationSampling.h>
|
||||||
#include <sampling/moDensityOfStatesSampling.h>
|
#include <sampling/moDensityOfStatesSampling.h>
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,11 @@ class moBinaryPartition : public EO<FitT>
|
||||||
* @note In debug mode, double check that elements were actually moved.
|
* @note In debug mode, double check that elements were actually moved.
|
||||||
*/
|
*/
|
||||||
void select(const size_t atom) {
|
void select(const size_t atom) {
|
||||||
assert(not selected.contains(atom));
|
#if __cplusplus >= 202002L
|
||||||
|
assert(not selected.contains(atom));
|
||||||
|
#else
|
||||||
|
assert(selected.count(atom) == 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
size_t has_erased =
|
size_t has_erased =
|
||||||
|
|
@ -98,7 +102,11 @@ class moBinaryPartition : public EO<FitT>
|
||||||
* @note In debug mode, double check that elements were actually moved.
|
* @note In debug mode, double check that elements were actually moved.
|
||||||
*/
|
*/
|
||||||
void reject(const size_t atom) {
|
void reject(const size_t atom) {
|
||||||
assert(not rejected.contains(atom));
|
#if __cplusplus >= 202002L
|
||||||
|
assert(not rejected.contains(atom));
|
||||||
|
#else
|
||||||
|
assert(rejected.count(atom) == 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
size_t has_erased =
|
size_t has_erased =
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include <mo>
|
#include <mo>
|
||||||
|
|
||||||
#include "moBinaryPartition.h"
|
#include "moBinaryPartition.h"
|
||||||
|
|
||||||
/** Stable neighbor for a binary partition.
|
/** Stable neighbor for a binary partition.
|
||||||
|
|
|
||||||
|
|
@ -87,8 +87,13 @@ class moBinaryPartitionSwapNeighborhood : public moNeighborhood<moBinaryPartitio
|
||||||
// << " from: " << from
|
// << " from: " << from
|
||||||
// << std::endl;
|
// << std::endl;
|
||||||
|
|
||||||
assert( from.rejected.contains(selected(from,i_select)) );
|
#if __cplusplus >= 202002L
|
||||||
assert( from.selected.contains(rejected(from,j_reject)) );
|
assert( from.rejected.contains(selected(from,i_select)) );
|
||||||
|
assert( from.selected.contains(rejected(from,j_reject)) );
|
||||||
|
#else
|
||||||
|
assert( from.rejected.count(selected(from,i_select)) > 0 );
|
||||||
|
assert( from.selected.count(rejected(from,j_reject)) > 0 );
|
||||||
|
#endif
|
||||||
assert( selected(from,i_select) != rejected(from,j_reject) );
|
assert( selected(from,i_select) != rejected(from,j_reject) );
|
||||||
|
|
||||||
// Implant this move in the neighbor.
|
// Implant this move in the neighbor.
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,7 @@ set (TEST_LIST
|
||||||
t-moIndexedVectorTabuList
|
t-moIndexedVectorTabuList
|
||||||
# t-moRndIndexedVectorTabuList
|
# t-moRndIndexedVectorTabuList
|
||||||
t-moDynSpanCoolingSchedule
|
t-moDynSpanCoolingSchedule
|
||||||
|
t-moBinaryPartition
|
||||||
)
|
)
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
#include <frictionless/moBinaryPartition.h>
|
#include <mo>
|
||||||
#include <frictionless/moBinaryPartitionSwapNeighbor.h>
|
|
||||||
#include <frictionless/moBinaryPartitionSwapNeighborhood.h>
|
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue