OptimisationProblem/Assignment.h

45 lines
1.0 KiB
C
Raw Normal View History

2023-07-17 00:19:10 +02:00
#pragma once
#include "structures/Employee.h"
#include "structures/Mission.h"
#include "structures/Distances.h"
#include <vector>
typedef std::vector<Mission*> MissionList;
class Assignment
{
public:
/*float workTime;
int travelDistance;
int competenceTotal;*/
Distances* distances;
Employee* employee;
MissionList missions {};
Assignment(Employee* employee, Distances* distances):
employee(employee), distances(distances) // workTime(0), travelDistance(0), competenceTotal(0),
{};
float cost();
int getPreviousId();
int getPreviousId(int);
void addMission(Mission* mission);
void replaceMission(int i, MissionList*);
Mission* removeMission(int i);
Mission* getLastMission(int day);
MissionList* getMissions(int day);
int getSuitableMission(int, MissionList*, Mission**);
MissionList* getSuitableMissions(int, MissionList*);
int getCompetenceTotal();
float getTravelDistance();
float getWorkTime(int day);
float getTotalWorkTime();
float getTotalWorkTime(Mission* mission);
void print();
};