Skip to content

Commit c9f6ec3

Browse files
remove dead code
1 parent 11487e4 commit c9f6ec3

File tree

2 files changed

+32
-124
lines changed

2 files changed

+32
-124
lines changed

src/router.cpp

Lines changed: 5 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
#include <cassert>
1111

1212
Router::Router(const std::vector<double> &demand,
13-
std::unique_ptr<distmat<double>> distances,
14-
std::shared_ptr<Fleet> fleet)
13+
std::unique_ptr<distmat<double>> distances,
14+
std::shared_ptr<Fleet> fleet)
1515
: fleet(fleet),
1616
distances(std::move(distances)),
1717
sites_relinked(demand.size(), 0),
@@ -78,9 +78,9 @@ int unique_count(union_view<int, std::vector> uv)
7878
}
7979

8080
Router::Router(const Router &runm1, const Router &runm2,
81-
const distmat<double> &new_distances,
82-
const std::vector<int> &site_ind_map1,
83-
const std::vector<int> &site_ind_map2)
81+
const distmat<double> &new_distances,
82+
const std::vector<int> &site_ind_map1,
83+
const std::vector<int> &site_ind_map2)
8484
: fleet(runm1.fleet),
8585
distances(std::make_unique<distmat<double>>(new_distances))
8686
{
@@ -388,88 +388,6 @@ double run_distance(const std::vector<int> ordered_sites,
388388
return distance;
389389
}
390390

391-
// 1 - site
392-
// 2 - run
393-
// 3 - order
394-
// 4 - vehicle per run
395-
// 5 - load per run
396-
// 6 - distance per run
397-
col_types Router::runs_as_cols() const
398-
{
399-
typedef std::shared_ptr<run> T;
400-
401-
size_t col_size = runs.size() + fixed_singleton_runs.size();
402-
403-
std::map<T, int> visited_runs;
404-
std::map<int, std::vector<int>> orders;
405-
std::map<int, double> run_dists;
406-
407-
col_types cols = {
408-
std::vector<int>(col_size),
409-
std::vector<int>(col_size),
410-
std::vector<int>(col_size),
411-
std::vector<int>(col_size),
412-
std::vector<double>(col_size),
413-
std::vector<double>(col_size)};
414-
415-
int run_id = 0;
416-
417-
// Iterate over sites
418-
size_t i = 0;
419-
for (; i < runs.size(); i++)
420-
{
421-
std::vector<int> order;
422-
double run_dist;
423-
T cyc = runs[i];
424-
425-
std::get<0>(cols)[i] = i;
426-
std::get<3>(cols)[i] = runs[i]->vehicle;
427-
std::get<4>(cols)[i] = runs[i]->max_load;
428-
429-
// check if we have seen cyc before
430-
if (visited_runs.count(cyc) > 0)
431-
{
432-
order = orders[visited_runs[cyc]];
433-
run_dist = run_dists[visited_runs[cyc]];
434-
435-
std::get<1>(cols)[i] = visited_runs[cyc];
436-
}
437-
else // if we did not see it before
438-
{
439-
visited_runs.insert({cyc, run_id});
440-
// we reorder each run again (by solving the TSP)
441-
order = cyc->ordered_sites(*(this->distances), consider_optim1, consider_optim2);
442-
run_dist = run_distance(order, *(this->distances));
443-
444-
orders.insert({run_id, order});
445-
run_dists.insert({run_id, run_dist});
446-
447-
std::get<1>(cols)[i] = run_id;
448-
run_id++;
449-
}
450-
451-
std::get<2>(cols)[i] = std::distance(order.begin(),
452-
std::find(order.begin(), order.end(), i));
453-
std::get<5>(cols)[i] = run_dist;
454-
}
455-
456-
// fill the rest up with singleton runs
457-
for (const auto &run : fixed_singleton_runs)
458-
{
459-
int site = *(run.sites().begin());
460-
std::get<0>(cols)[i] = site;
461-
std::get<1>(cols)[i] = run_id;
462-
std::get<2>(cols)[i] = 0;
463-
std::get<3>(cols)[i] = run.vehicle;
464-
std::get<4>(cols)[i] = run.max_load;
465-
std::get<5>(cols)[i] = 2 * distances->get(0, 1 + site);
466-
run_id++;
467-
i++;
468-
}
469-
470-
return cols;
471-
}
472-
473391
tbls Router::runs_as_tbls(const std::vector<double> &demand) const
474392
{
475393
typedef std::shared_ptr<run> T;

src/router.h

Lines changed: 27 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -8,61 +8,52 @@
88
#include "run.h"
99
#include "fleet.h"
1010

11-
using col_types = std::tuple<
12-
std::vector<int>, // Site ID
13-
std::vector<int>, // Run ID
14-
std::vector<int>, // Order
15-
std::vector<int>, // Vehicle ID
16-
std::vector<double>, // Max Load
17-
std::vector<double>>; // Traveled Distance
18-
1911
using tbl_run =
20-
std::tuple< // Run
21-
std::vector<int>, // Run ID
22-
std::vector<int>, // Vehicle ID
23-
std::vector<double>, // Max Load
24-
std::vector<double> // Run distance
25-
>;
12+
std::tuple< // Run
13+
std::vector<int>, // Run ID
14+
std::vector<int>, // Vehicle ID
15+
std::vector<double>, // Max Load
16+
std::vector<double> // Run distance
17+
>;
2618

2719
using tbl_run_site =
28-
std::tuple< // Site-Visit
29-
std::vector<int>, // Run ID
30-
std::vector<int>, // Visited Site
31-
std::vector<int>, // Order
32-
std::vector<double> // Departing Load
33-
>;
20+
std::tuple< // Site-Visit
21+
std::vector<int>, // Run ID
22+
std::vector<int>, // Visited Site
23+
std::vector<int>, // Order
24+
std::vector<double> // Departing Load
25+
>;
3426

3527
using tbl_site =
36-
std::tuple< // Site
37-
std::vector<int>, // Site ID
38-
std::vector<double> // Demand
39-
>;
28+
std::tuple< // Site
29+
std::vector<int>, // Site ID
30+
std::vector<double> // Demand
31+
>;
4032

4133
using tbls =
42-
std::tuple<
43-
tbl_site,
44-
tbl_run,
45-
tbl_run_site
46-
>;
47-
34+
std::tuple<
35+
tbl_site,
36+
tbl_run,
37+
tbl_run_site>;
4838

4939
class Router
5040
{
5141
public:
5242
// creates one singleton runs for each site with the given demand and already assigns
5343
// vehicles from a fleet
5444
Router(const std::vector<double> &demand,
55-
std::unique_ptr<distmat<double>> distances,
56-
std::shared_ptr<Fleet> fleet);
45+
std::unique_ptr<distmat<double>> distances,
46+
std::shared_ptr<Fleet> fleet);
5747

5848
// creates a new Router by combining two existing ones
5949
// note that their fleets have to be identical for that to make sense
6050
Router(const Router &runm1, const Router &runm2,
61-
const distmat<double> &new_distances,
62-
const std::vector<int> &site_ind_map1,
63-
const std::vector<int> &site_ind_map2);
51+
const distmat<double> &new_distances,
52+
const std::vector<int> &site_ind_map1,
53+
const std::vector<int> &site_ind_map2);
6454

65-
bool relink_best(binop_dbl combine_load = [](double l1, double l2) {return(l1 + l2);});
55+
bool relink_best(binop_dbl combine_load = [](double l1, double l2)
56+
{ return (l1 + l2); });
6657

6758
// After we have the final routes, we might still be able to assign
6859
// better vehicles for each route
@@ -72,7 +63,6 @@ class Router
7263

7364
// returns the current runs as column vectors for
7465
// data frame creation
75-
col_types runs_as_cols() const;
7666
tbls runs_as_tbls(const std::vector<double> &demand) const;
7767

7868
std::shared_ptr<Fleet> fleet;

0 commit comments

Comments
 (0)