mets::invert_subsequence Class Reference

A mets::mana_move that swaps a subsequence of elements in a mets::permutation_problem. More...

`#include <model.hh>`

Inheritance diagram for mets::invert_subsequence:

## Public Member Functions | |

void | apply (mets::feasible_solution &s) const |

Virtual method that applies the move on a point. | |

void | change (int from, int to) |

clonable * | clone () const |

gol_type | evaluate (const mets::feasible_solution &s) const |

Virtual method that applies the move on a point. | |

size_t | hash () const |

An hash function used by the tabu list (the hash value is used to insert the move in an hash set). | |

invert_subsequence (int from, int to) | |

A move that swaps from and to. | |

bool | operator== (const mets::mana_move &o) const |

Comparison operator used to tell if this move is equal to a move in the tabu list. | |

## Protected Attributes | |

int | p1 |

the first element to swap | |

int | p2 |

the second element to swap |

A mets::mana_move that swaps a subsequence of elements in a mets::permutation_problem.

**See also:**- mets::permutation_problem, mets::mana_move

mets::invert_subsequence::invert_subsequence | ( | int | from, |

int | to |
||

) | ` [inline]` |

void mets::invert_subsequence::apply | ( | mets::feasible_solution & | s | ) | const` [inline, virtual]` |

Virtual method that applies the move on a point.

Implements mets::move.

void mets::invert_subsequence::change | ( | int | from, |

int | to |
||

) | ` [inline]` |

clonable* mets::invert_subsequence::clone | ( | ) | const` [inline, virtual]` |

Implements mets::clonable.

mets::gol_type mets::invert_subsequence::evaluate | ( | const mets::feasible_solution & | s | ) | const` [inline, virtual]` |

Virtual method that applies the move on a point.

Implements mets::move.

size_t mets::invert_subsequence::hash | ( | ) | const` [inline, virtual]` |

An hash function used by the tabu list (the hash value is used to insert the move in an hash set).

Implements mets::hashable.

bool mets::invert_subsequence::operator== | ( | const mets::mana_move & | o | ) | const` [inline, virtual]` |

Comparison operator used to tell if this move is equal to a move in the tabu list.

Implements mets::mana_move.

int mets::invert_subsequence::p1` [protected]` |

int mets::invert_subsequence::p2` [protected]` |

The documentation for this class was generated from the following file: