Skip to content

Commit 688867a

Browse files
committed
Clean code architecture
1 parent e1c83b9 commit 688867a

13 files changed

+85
-85
lines changed

include/generalizedassignmentsolver/algorithms/constraint_programming_gecode.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ namespace generalizedassignmentsolver
99

1010
struct ConstraintProgrammingGecodeParameters: Parameters
1111
{
12-
std::string bound = "none"; // "none", "lagrelax", "colgen"
12+
std::string bound = "none"; // "none", "lagrangian_relaxation", "colgen"
1313
std::string search_strategy = "dfs"; // "dfs", "lds"
1414
std::string branching_strategy = "most_efficient"; // "most_efficient", "most_fractional", "closest_to_one"
1515
/** if dual = true, branch first on the objective value **/
1616
bool dual = false;
1717

1818
ConstraintProgrammingGecodeParameters& primal_solution()
1919
{
20-
bound = "lagrelax";
20+
bound = "lagrangian_relaxation";
2121
search_strategy = "lds";
2222
branching_strategy = "closest_to_one";
2323
dual = false;
@@ -26,7 +26,7 @@ struct ConstraintProgrammingGecodeParameters: Parameters
2626

2727
ConstraintProgrammingGecodeParameters& dual_bound()
2828
{
29-
bound = "lagrelax";
29+
bound = "lagrangian_relaxation";
3030
search_strategy = "dfs";
3131
branching_strategy = "most_fractional";
3232
dual = true;

include/generalizedassignmentsolver/algorithms/lagrelax_lbfgs.hpp renamed to include/generalizedassignmentsolver/algorithms/lagrangian_relaxation_dlib.hpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ namespace generalizedassignmentsolver
66
{
77

88
////////////////////////////////////////////////////////////////////////////////
9-
/////////////////////////// lagrelax_assignment_lbfgs //////////////////////////
9+
///////////////////// lagrangian_relaxation_assignment_dlib ////////////////////
1010
////////////////////////////////////////////////////////////////////////////////
1111

12-
struct LagRelaxAssignmentLbfgsParameters: Parameters
12+
struct LagrangianRelaxationAssignmentDlibParameters: Parameters
1313
{
1414
std::vector<int>* initial_multipliers = NULL;
1515

1616
/** -1: unfixed, 0: fixed to 0, 1: fixed to 1. */
1717
std::vector<std::vector<int>>* fixed_alt = NULL;
1818
};
1919

20-
struct LagRelaxAssignmentLbfgsOutput: Output
20+
struct LagrangianRelaxationAssignmentDlibOutput: Output
2121
{
22-
LagRelaxAssignmentLbfgsOutput(
22+
LagrangianRelaxationAssignmentDlibOutput(
2323
const Instance& instance):
2424
Output(instance) { }
2525

@@ -31,17 +31,17 @@ struct LagRelaxAssignmentLbfgsOutput: Output
3131
std::vector<double> multipliers;
3232
};
3333

34-
const LagRelaxAssignmentLbfgsOutput lagrelax_assignment_lbfgs(
34+
const LagrangianRelaxationAssignmentDlibOutput lagrangian_relaxation_assignment_dlib(
3535
const Instance& instance,
36-
const LagRelaxAssignmentLbfgsParameters& parameters = {});
36+
const LagrangianRelaxationAssignmentDlibParameters& parameters = {});
3737

3838
////////////////////////////////////////////////////////////////////////////////
39-
//////////////////////////// lagrelax_knapsack_lbfgs ///////////////////////////
39+
/////////////////////// lagrangian_relaxation_knapsack_dlib ////////////////////
4040
////////////////////////////////////////////////////////////////////////////////
4141

42-
struct LagRelaxKnapsackLbfgsOutput: Output
42+
struct LagrangianRelaxationKnapsackDlibOutput: Output
4343
{
44-
LagRelaxKnapsackLbfgsOutput(
44+
LagrangianRelaxationKnapsackDlibOutput(
4545
const Instance& instance):
4646
Output(instance) { }
4747

@@ -53,7 +53,7 @@ struct LagRelaxKnapsackLbfgsOutput: Output
5353
std::vector<double> multipliers;
5454
};
5555

56-
const LagRelaxKnapsackLbfgsOutput lagrelax_knapsack_lbfgs(
56+
const LagrangianRelaxationKnapsackDlibOutput lagrangian_relaxation_knapsack_dlib(
5757
const Instance& instance,
5858
const Parameters& parameters = {});
5959

include/generalizedassignmentsolver/algorithms/lagrelax_volume.hpp renamed to include/generalizedassignmentsolver/algorithms/lagrangian_relaxation_volume.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ namespace generalizedassignmentsolver
88
{
99

1010
////////////////////////////////////////////////////////////////////////////////
11-
////////////////////////// lagrelax_assignment_volume //////////////////////////
11+
//////////////////// lagrangian_relaxation_assignment_volume ///////////////////
1212
////////////////////////////////////////////////////////////////////////////////
1313

14-
struct LagRelaxAssignmentVolumeOutput: Output
14+
struct LagrangianRelaxationAssignmentVolumeOutput: Output
1515
{
16-
LagRelaxAssignmentVolumeOutput(
16+
LagrangianRelaxationAssignmentVolumeOutput(
1717
const Instance& instance):
1818
Output(instance) { }
1919

@@ -24,17 +24,17 @@ struct LagRelaxAssignmentVolumeOutput: Output
2424
std::vector<double> multipliers;
2525
};
2626

27-
const LagRelaxAssignmentVolumeOutput lagrelax_assignment_volume(
27+
const LagrangianRelaxationAssignmentVolumeOutput lagrangian_relaxation_assignment_volume(
2828
const Instance& instance,
2929
const Parameters& parameters = {});
3030

3131
////////////////////////////////////////////////////////////////////////////////
32-
/////////////////////////// lagrelax_knapsack_volume ///////////////////////////
32+
///////////////////// lagrangian_relaxation_knapsack_volume ////////////////////
3333
////////////////////////////////////////////////////////////////////////////////
3434

35-
struct LagRelaxKnapsackVolumeOutput: Output
35+
struct LagrangianRelaxationKnapsackVolumeOutput: Output
3636
{
37-
LagRelaxKnapsackVolumeOutput(
37+
LagrangianRelaxationKnapsackVolumeOutput(
3838
const Instance& instance):
3939
Output(instance) { }
4040

@@ -45,7 +45,7 @@ struct LagRelaxKnapsackVolumeOutput: Output
4545
std::vector<double> multipliers;
4646
};
4747

48-
const LagRelaxKnapsackVolumeOutput lagrelax_knapsack_volume(
48+
const LagrangianRelaxationKnapsackVolumeOutput lagrangian_relaxation_knapsack_volume(
4949
const Instance& instance,
5050
const Parameters& parameters = {});
5151

include/generalizedassignmentsolver/algorithms/linrelax_clp.hpp renamed to include/generalizedassignmentsolver/algorithms/linear_relaxation_clp.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
namespace generalizedassignmentsolver
88
{
99

10-
struct LinRelaxClpOutput: Output
10+
struct LinearRelaxationClpOutput: Output
1111
{
12-
LinRelaxClpOutput(
12+
LinearRelaxationClpOutput(
1313
const Instance& instance):
1414
Output(instance) { }
1515

1616

1717
std::vector<std::vector<double>> x;
1818
};
1919

20-
const LinRelaxClpOutput linrelax_clp(
20+
const LinearRelaxationClpOutput linear_relaxation_clp(
2121
const Instance& instance,
2222
const Parameters& parameters = {});
2323

include/generalizedassignmentsolver/algorithms/repair.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ enum class RepairInitialSolution
1414
#if CPLEX_FOUND
1515
LinearRelaxationCplex,
1616
#endif
17-
LagrangianRelaxationKnapsackLbfgs,
17+
LagrangianRelaxationKnapsackDlib,
1818
};
1919
std::istream& operator>>(std::istream& in, RepairInitialSolution& initial_solution);
2020

src/algorithms/lagrelax_lbfgs.cpp renamed to src/algorithms/lagrangian_relaxation_dlib.cpp

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "generalizedassignmentsolver/algorithms/lagrelax_lbfgs.hpp"
1+
#include "generalizedassignmentsolver/algorithms/lagrangian_relaxation_dlib.hpp"
22

33
#include "generalizedassignmentsolver/algorithm_formatter.hpp"
44

@@ -17,17 +17,17 @@ using namespace dlib;
1717
typedef matrix<double,0,1> column_vector;
1818

1919
////////////////////////////////////////////////////////////////////////////////
20-
/////////////////////////// lagrelax_assignment_lbfgs //////////////////////////
20+
////////////////////// lagrangian_relaxation_assignment_dlib ///////////////////
2121
////////////////////////////////////////////////////////////////////////////////
2222

23-
class LagRelaxAssignmentLbfgsFunction
23+
class LagrangianRelaxationAssignmentDlibFunction
2424
{
2525

2626
public:
2727

28-
LagRelaxAssignmentLbfgsFunction(
28+
LagrangianRelaxationAssignmentDlibFunction(
2929
const Instance& instance,
30-
LagRelaxAssignmentLbfgsParameters& p,
30+
LagrangianRelaxationAssignmentDlibParameters& p,
3131
ItemIdx number_of_unfixed_items,
3232
const std::vector<ItemIdx>& item_indices):
3333
instance_(instance), p_(p), item_indices_(item_indices), grad_(number_of_unfixed_items)
@@ -48,7 +48,7 @@ class LagRelaxAssignmentLbfgsFunction
4848
kp_indices_.resize(instance.number_of_items());
4949
}
5050

51-
virtual ~LagRelaxAssignmentLbfgsFunction() { }
51+
virtual ~LagrangianRelaxationAssignmentDlibFunction() { }
5252

5353
double f(const column_vector& x);
5454

@@ -57,7 +57,7 @@ class LagRelaxAssignmentLbfgsFunction
5757
private:
5858

5959
const Instance& instance_;
60-
LagRelaxAssignmentLbfgsParameters& p_;
60+
LagrangianRelaxationAssignmentDlibParameters& p_;
6161
/** item_indices_[item_id] is the index of item j in mu and grad_. */
6262
const std::vector<ItemIdx>& item_indices_;
6363

@@ -69,7 +69,7 @@ class LagRelaxAssignmentLbfgsFunction
6969

7070
};
7171

72-
double LagRelaxAssignmentLbfgsFunction::f(const column_vector& mu)
72+
double LagrangianRelaxationAssignmentDlibFunction::f(const column_vector& mu)
7373
{
7474
// Initialize bound and gradient;
7575
double l = 0;
@@ -117,13 +117,13 @@ double LagRelaxAssignmentLbfgsFunction::f(const column_vector& mu)
117117
return l;
118118
}
119119

120-
const LagRelaxAssignmentLbfgsOutput generalizedassignmentsolver::lagrelax_assignment_lbfgs(
120+
const LagrangianRelaxationAssignmentDlibOutput generalizedassignmentsolver::lagrangian_relaxation_assignment_dlib(
121121
const Instance& instance,
122-
const LagRelaxAssignmentLbfgsParameters& parameters)
122+
const LagrangianRelaxationAssignmentDlibParameters& parameters)
123123
{
124-
LagRelaxAssignmentLbfgsOutput o output(instance);
124+
LagrangianRelaxationAssignmentDlibOutput o output(instance);
125125
AlgorithmFormatter algorithm_formatter(parameters, output);
126-
algorithm_formatter.start("Lagrangian relaxation - assignment constraints (LBFGS)");
126+
algorithm_formatter.start("Lagrangian relaxation - assignment constraints (dlib)");
127127
algorithm_formatter.print_header();
128128

129129
// Compute c0, item_indices and number_of_unfixed_items
@@ -157,13 +157,13 @@ const LagRelaxAssignmentLbfgsOutput generalizedassignmentsolver::lagrelax_assign
157157
}
158158

159159
// Solve
160-
LagRelaxAssignmentLbfgsFunction func(instance, parameters, number_of_unfixed_items, item_indices);
160+
LagrangianRelaxationAssignmentDlibFunction func(instance, parameters, number_of_unfixed_items, item_indices);
161161
auto f = [&func](const column_vector& x) { return func.f(x); };
162162
auto def = [&func](const column_vector& x) { return func.der(x); };
163163
auto stop_strategy = objective_delta_stop_strategy(0.0001);
164164
//auto stop_strategy = gradient_norm_stop_strategy().be_verbosity_level(),
165165
double res = find_max(
166-
lbfgs_search_strategy(256),
166+
dlib_search_strategy(256),
167167
stop_strategy,
168168
f,
169169
def,
@@ -183,20 +183,20 @@ const LagRelaxAssignmentLbfgsOutput generalizedassignmentsolver::lagrelax_assign
183183
}
184184

185185
////////////////////////////////////////////////////////////////////////////////
186-
//////////////////////////// lagrelax_knapsack_lbfgs ///////////////////////////
186+
/////////////////////// lagrangian_relaxation_knapsack_dlib ////////////////////
187187
////////////////////////////////////////////////////////////////////////////////
188188

189-
class LagRelaxKnapsackLbfgsFunction
189+
class LagrangianRelaxationKnapsackDlibFunction
190190
{
191191

192192
public:
193193

194-
LagRelaxKnapsackLbfgsFunction(const Instance& instance):
194+
LagrangianRelaxationKnapsackDlibFunction(const Instance& instance):
195195
instance_(instance),
196196
x_(instance.number_of_items()),
197197
grad_(instance.number_of_agents())
198198
{ }
199-
virtual ~LagRelaxKnapsackLbfgsFunction() { };
199+
virtual ~LagrangianRelaxationKnapsackDlibFunction() { };
200200

201201
double f(const column_vector& x);
202202

@@ -212,7 +212,7 @@ class LagRelaxKnapsackLbfgsFunction
212212

213213
};
214214

215-
double LagRelaxKnapsackLbfgsFunction::f(const column_vector& mu)
215+
double LagrangianRelaxationKnapsackDlibFunction::f(const column_vector& mu)
216216
{
217217
// Initialize bound and gradient
218218
double l = 0;
@@ -250,13 +250,13 @@ double LagRelaxKnapsackLbfgsFunction::f(const column_vector& mu)
250250
return l;
251251
}
252252

253-
const LagRelaxKnapsackLbfgsOutput generalizedassignmentsolver::lagrelax_knapsack_lbfgs(
253+
const LagrangianRelaxationKnapsackDlibOutput generalizedassignmentsolver::lagrangian_relaxation_knapsack_dlib(
254254
const Instance& instance,
255255
const Parameters& parameters)
256256
{
257-
LagRelaxKnapsackLbfgsOutput output(instance);
257+
LagrangianRelaxationKnapsackDlibOutput output(instance);
258258
AlgorithmFormatter algorithm_formatter(parameters, output);
259-
algorithm_formatter.start("Lagrangian relaxation - knapsack constraints (LBFGS)");
259+
algorithm_formatter.start("Lagrangian relaxation - knapsack constraints (dlib)");
260260
algorithm_formatter.print_header();
261261

262262
// Initialize multipliers
@@ -272,13 +272,13 @@ const LagRelaxKnapsackLbfgsOutput generalizedassignmentsolver::lagrelax_knapsack
272272
}
273273

274274
// Solve
275-
LagRelaxKnapsackLbfgsFunction func(instance);
275+
LagrangianRelaxationKnapsackDlibFunction func(instance);
276276
auto f = [&func](const column_vector& x) { return func.f(x); };
277277
auto def = [&func](const column_vector& x) { return func.der(x); };
278278
auto stop_strategy = objective_delta_stop_strategy();
279279
//auto stop_strategy = gradient_norm_stop_strategy();
280280
double res = find_max_box_constrained(
281-
lbfgs_search_strategy(256),
281+
dlib_search_strategy(256),
282282
stop_strategy,
283283
f,
284284
def,

0 commit comments

Comments
 (0)