GHOST
Loading...
Searching...
No Matches
fix_value.hpp
Go to the documentation of this file.
1/*
2 * GHOST (General meta-Heuristic Optimization Solving Tool) is a C++ framework
3 * designed to help developers to model and implement optimization problem
4 * solving. It contains a meta-heuristic solver aiming to solve any kind of
5 * combinatorial and optimization real-time problems represented by a CSP/COP/EF-CSP/EF-COP.
6 *
7 * First developed to solve game-related optimization problems, GHOST can be used for
8 * any kind of applications where solving combinatorial and optimization problems. In
9 * particular, it had been designed to be able to solve not-too-complex problem instances
10 * within some milliseconds, making it very suitable for highly reactive or embedded systems.
11 * Please visit https://github.com/richoux/GHOST for further information.
12 *
13 * Copyright (C) 2014-2025 Florian Richoux
14 *
15 * This file is part of GHOST.
16 * GHOST is free software: you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License as published
18 * by the Free Software Foundation, either version 3 of the License, or
19 * (at your option) any later version.
20
21 * GHOST is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25
26 * You should have received a copy of the GNU General Public License
27 * along with GHOST. If not, see http://www.gnu.org/licenses/.
28 */
29
30#pragma once
31
32#include <vector>
33
34#include "../variable.hpp"
35#include "../constraint.hpp"
36
37namespace ghost
38{
39 namespace global_constraints
40 {
48 class FixValue : public Constraint
49 {
50 int _value;
51
52 double required_error( const std::vector<Variable*>& variables ) const override;
53 double optional_delta_error( const std::vector<Variable*>& variables,
54 const std::vector<int>& variable_indexes,
55 const std::vector<int>& candidate_values ) const override;
56
57 public:
64 FixValue( const std::vector<int>& variables_index, int value );
65
71 FixValue( const std::vector<Variable>& variables, int value );
72 };
73 }
74}
Definition constraint.hpp:63
Definition fix_value.hpp:49
FixValue(const std::vector< Variable > &variables, int value)
FixValue(const std::vector< int > &variables_index, int value)
Definition auxiliary_data.hpp:38