GHOST
linear_equation_neq.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-2023 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 "linear_equation.hpp"
35 
36 namespace ghost
37 {
38  namespace global_constraints
39  {
45  {
46  double compute_error( double sum ) const override;
47 
48  public:
56  LinearEquationNeq( const std::vector<int>& variables_index, double rhs, const std::vector<double>& coefficients );
57 
63  LinearEquationNeq( const std::vector<int>& variables_index, double rhs );
64 
71  LinearEquationNeq( const std::vector<Variable>& variables, double rhs, const std::vector<double>& coefficients );
72 
78  LinearEquationNeq( const std::vector<Variable>& variables, double rhs );
79 };
80  }
81 }
Definition: linear_equation_neq.hpp:45
LinearEquationNeq(const std::vector< int > &variables_index, double rhs, const std::vector< double > &coefficients)
LinearEquationNeq(const std::vector< Variable > &variables, double rhs, const std::vector< double > &coefficients)
LinearEquationNeq(const std::vector< Variable > &variables, double rhs)
LinearEquationNeq(const std::vector< int > &variables_index, double rhs)
Definition: linear_equation.hpp:45
double rhs
Definition: linear_equation.hpp:50
Definition: auxiliary_data.hpp:38