#ifndef TOUR_H
#define TOUR_H

#include <vector>
#include <algorithm>
#include "Instance.h"  // Include the necessary headers

struct Tour {
    std::vector<int> nodes;
    int demand = 0;
    float costs = 0;

    void updateCostAndDemand(const Instance& instance);

    void stringRemoval(std::vector<int> & removed_cust, Tour & newTour,int lt, int c_star);

    void splitStringRemoval(std::vector<int> & removed_cust, Tour & newTour, int lt, int c_star, float alpha);
};

#endif // TOUR_H
