DISPLACE  1.0
A spatial model of fisheries to help sustainable fishing and maritime spatial planning
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
vesselsevaluators.h
Go to the documentation of this file.
1 #ifndef VESSELSEVALUATORS_H
2 #define VESSELSEVALUATORS_H
3 
4 #include <Vessel.h>
5 #include <Node.h>
6 #include <helpers.h>
7 #include <numeric> // std::accumulate()
8 
9 namespace dtree {
10 namespace vessels {
12 private:
13 public:
15  double evaluate(int, Vessel *vessel) const {
16  if (vessel->getNumTrips() > 2)
17  return (vessel->getLastTripProfit() < vessel->getAvgTripProfit() ? 1.0 : 0.0);
18  else
19  return 0.0;
20  }
21 };
22 
24 private:
25 public:
27  double evaluate(int, Vessel *vessel) const {
28  if (vessel->getNumTrips() > 2)
29  return (vessel->getLastTripRevenues() < vessel->getAvgTripRevenues() ? 1.0 : 0.0);
30  else
31  return 0.0;
32  }
33 };
34 
36 public:
38  double evaluate(int, Vessel *vessel) const {
39  //cout << vessel->get_name() << " with length " << vessel->get_length() << " is of length class " << (double)vessel->get_length_class() << endl;
40  return static_cast<float>(vessel->get_length_class()) / VariableNames::variableBinCount(Variable::vesselSizeIs);
41  }
42 };
43 
45 public:
47  double evaluate(int, Vessel *vessel) const {
48  vector<int> trgts= vessel->get_metier()->get_metier_target_stocks();
49  return trgts.at(0) / VariableNames::variableBinCount(Variable::stockTargetIs); //WIP: should account for all the targets!
50  }
51 };
52 
53 
55 public:
57  double evaluate(int, Vessel *vessel) const {
58  return static_cast<float>(vessel->get_metier()->get_name()) / VariableNames::variableBinCount(Variable::vesselMetierIs);
59  }
60 };
61 
62 
64 private:
65 public:
66  static constexpr double WorkDay = 0.0;
67  static constexpr double WeekEndDay = 1.0;
68 
70  double evaluate(int tstep, Vessel *vessel) const {
71  int wday = (tstep / 24) % 7;
72  if (vessel->getWeekEndStartDay() > vessel->getWeekEndEndDay()) {
73  if (vessel->getWeekEndEndDay() < wday && wday < vessel->getWeekEndStartDay())
74  return WorkDay;
75  return WeekEndDay;
76  } else {
77  if (vessel->getWeekEndEndDay() >= wday && wday >= vessel->getWeekEndStartDay())
78  return WeekEndDay;
79  return WorkDay;
80  }
81  }
82 };
83 
85 private:
86 public:
87 
89  double evaluate(int tstep, Vessel *vessel) const {
90  UNUSED(vessel);
91  return ((tstep/720) % 12) / 11.0;
92  }
93 };
94 
95 
97 private:
98 public:
100  double evaluate(int, Vessel *v) const {
101  double min_quota_left_among_avoided_stks = v->get_min_prop_remaining_individual_quotas_on_avoided_stks();
102  return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the individual quotas (for avoided species) left is low
103  }
104 };
105 
107 private:
108 public:
110  double evaluate(int, Vessel *v) const {
111  double min_quota_left_among_avoided_stks = v->get_min_prop_remaining_global_quotas_on_avoided_stks();
112 // cout << "min_quota_left_among_avoided_stks is " << min_quota_left_among_avoided_stks;
113  return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the global quotas (for avoided species) left is low
114  }
115 };
116 
118 private:
119 public:
121  double evaluate(int, Vessel *v) const {
122  //cout << "vessel specific risk of bycatch being evaluated before trip start..." << endl;
123  vector <double> prop_bycatch = v->get_experienced_avoided_stks_bycatch_prop_on_fgrounds();
124  double average_prop_bycatch= std::accumulate( prop_bycatch.begin(), prop_bycatch.end(), 0.0)/prop_bycatch.size();
125  //cout << "...the average discard ratio for this vessel is: " << average_prop_bycatch << endl;
126  return average_prop_bycatch > 0.2 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the vessel has experienced large bycatch (>20%) on this ground?
127  }
128 };
129 
130 
131 
133 private:
134 public:
136  double evaluate(int, Vessel *vessel) const {
137  return vessel->get_cumfuelcons() > (vessel->get_tankcapacity()*0.5) ? 1.0 : 0.0; //0: "still ok" node; 1: "low"
138  // a more complicated alternative require computing (all) distance to ports:
139  // return ( vessel->get_tankcapacity() - vessel->get_cumfuelcons()
140  // < ( (a_min_dist /(vessel->get_speed() * NAUTIC)) * vessel->get_fuelcons()*vessel->get_mult_fuelcons_when_steaming() );
141  // ? 1.0 : 0.0);
142  }
143 };
144 
145 
147 private:
148 public:
150  double evaluate(int, Vessel *vessel) const {
151  return vessel->get_cumcatches() > (vessel->get_carrycapacity() *0.5) ? 1.0 : 0.0; //0: "still ok" node; 1: "fullfilled"
152  }
153 };
154 
155 
157 private:
158 public:
160  double evaluate(int, Vessel *vessel) const {
161  return vessel->get_timeatsea() > 5*24 ? 1.0 : 0.0; //0:<5days ; 1:><5days
162  }
163 };
164 
165 
167 private:
168 public:
170  double evaluate(int tstep, Vessel *vessel) const {
171  int current_hour= (int)((tstep % 24)+0.5);
172  return ((
173  // caution: we expect getWorkDayEndHour to be within 0 and 23...(i.e. no 24)
174  (vessel->getWorkDayEndHour() == 23 && current_hour == vessel->getWorkDayEndHour()-1) || // end of day is true if +/- 1 hour of the usual return hour (make flexible because the vessel might be steaming at the exact hour then not taking any stop fishing decision...)
175  (current_hour == vessel->getWorkDayEndHour()) ||
176  (current_hour == vessel->getWorkDayEndHour()+1) ||
177  (vessel->get_timeatsea() > 20) // worst case, end of the day triggered as soon as trying to fish again within the next day...
178  )
179  ? 0.0 : 1.0); //0: "true" node; 1: "false"
180  }
181 };
182 
183 
185 private:
186 public:
188  double evaluate(int fground, Vessel *v) const {
189  auto lst_fgrounds_in_closed_areas=v->get_fgrounds_in_closed_areas();
190  auto it= find (lst_fgrounds_in_closed_areas.begin(), lst_fgrounds_in_closed_areas.end(), types::NodeId(fground));
191  bool isIt= (it != lst_fgrounds_in_closed_areas.end()); // found
192  //cout << "isinareaclosure on this ground evaluated at " << isIt << endl;
193  return isIt ? 1.0 : 0.0; // Is yes or no in closed area?
194 
195  }
196 };
197 
198 
200 private:
201 public:
203  double evaluate(int fground, Vessel *v) const {
204  bool isSmart= (types::NodeId(fground)==v->get_smartcatch());
205  //cout << "smartcatch on this ground evaluated at " << isSmart << endl;
206  return isSmart ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the tested ground a smart catch?
207  }
208 };
209 
210 
212 private:
213 public:
215  double evaluate(int fground, Vessel *v) const {
216  bool isHighPotential=(types::NodeId(fground)==v->get_highpotentialcatch());
217  //cout << "highpotentialcatch on this ground evaluated at " << isHighPotential<< endl;
218  return isHighPotential ? 1.0 : 0.0; // Is yes or no the tested ground the highest cpue ground?
219  }
220 };
221 
223 private:
224 public:
226  double evaluate(int fground, Vessel *v) const {
227  bool isNotFar = (types::NodeId(fground)==v->get_notthatfar());
228  //cout << "notthatfar on this ground evaluated at " << isNotFar << endl;
229  return isNotFar ? 1.0 : 0.0; // Is yes or no the closest ground?
230  }
231 };
232 
234 private:
235 public:
237  double evaluate(int fground, Vessel *v) const {
238  bool isWellKnown = (types::NodeId(fground)==v->get_mosthistoricallyused());
239  //cout << "mosthistoricallyused on this ground evaluated at " << isWellKnown << endl;
240  return isWellKnown ? 1.0 : 0.0; // Is yes or no the ground has been the most historically frequent?
241  }
242 };
243 
245 private:
246 public:
248  double evaluate(int fground, Vessel *v) const {
249  auto the_grds = v->get_fgrounds();
250  int idx_node_r= find(the_grds.begin(), the_grds.end(), types::NodeId(fground)) - the_grds.begin(); // relative node index to this vessel
251  //cout << "risk of bycatch on this ground being evaluated..." << endl;
252  vector <double> prop_bycatch = v->get_experienced_bycatch_prop_on_fgrounds();
253  //cout << "...the discard ratio for that ground is: " << prop_bycatch.at(idx_node_r) << endl;
254  return prop_bycatch.at(idx_node_r) > 0.2 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the vessel has experienced large bycatch (>20%) on this ground?
255  }
256 };
257 
258 
260 private:
261 public:
263  double evaluate(int fground, Vessel *v) const {
264  auto the_grds = v->get_fgrounds();
265  int idx_node_r= find(the_grds.begin(), the_grds.end(), types::NodeId(fground)) - the_grds.begin(); // relative node index to this vessel
266  //cout << "risk of bycatch on this ground being evaluated..." << endl;
267  vector <double> prop_bycatch = v->get_experienced_avoided_stks_bycatch_prop_on_fgrounds();
268  //cout << "...the discard ratio for that ground is: " << prop_bycatch.at(idx_node_r) << endl;
269  return prop_bycatch.at(idx_node_r) > 0.2 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the vessel has experienced large bycatch (>20%) on this ground?
270  }
271 };
272 
274 private:
275 public:
277  double evaluate(int fground, Vessel *v) const {
278  double min_quota_left_among_avoided_stks = v->get_min_prop_remaining_individual_quotas_on_avoided_stks();
279  return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the individual quotas (for avoided species) left is low
280  }
281 };
282 
284 private:
285 public:
287  double evaluate(int fground, Vessel *v) const {
288  double min_quota_left_among_avoided_stks = v->get_min_prop_remaining_global_quotas_on_avoided_stks();
289 // cout << "min_quota_left_among_avoided_stks is " << min_quota_left_among_avoided_stks;
290  return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the global quotas (for avoided species) left is low
291  }
292 };
293 
295 private:
296 public:
298  double evaluate(int fground, Vessel *v) const {
299  bool LowestTariff = (types::NodeId(fground)==v->get_lowesttariff());
300  //cout << "lowesttariff on this ground evaluated at " << LowestTariff << endl;
301  return LowestTariff ? 1.0 : 0.0; // Is yes or no the closest ground?
302  }
303 
304 };
305 
307 private:
308 public:
310  double evaluate(int fground, Vessel *v) const {
311  //auto the_grds = v->get_fgrounds();
312  //int idx_node_r= find(the_grds.begin(), the_grds.end(), types::NodeId(fground)) - the_grds.begin(); // relative node index to this vessel
313  //cout << "Tariff on this ground being evaluated..." << endl;
314  vector <double> tariffs_over_layers = v->get_map_of_nodes().at(fground)->get_tariffs(); // using the superpower of omniscience (which is anyway quite expected on tariffs!)
315  //cout << "...the overall tariff for that ground is: " << tariffs_over_layers.at(0) << endl;
316  return tariffs_over_layers.at(0) >= 5 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) somewhat high tariff on this ground?
317  }
318 };
319 
320 
321 
322 
323 // StartFishing dtree
325 private:
326 public:
328  double evaluate(int fground, Vessel *v) const {
329  auto the_grds = v->get_fgrounds();
330  int idx_node_r= find(the_grds.begin(), the_grds.end(), types::NodeId(fground)) - the_grds.begin(); // relative node index to this vessel
331  //cout << "risk of bycatch on this ground being evaluated..." << endl;
332  vector <double> prop_bycatch = v->get_experienced_avoided_stks_bycatch_prop_on_fgrounds();
333  //cout << "...the discard ratio for that ground is: " << prop_bycatch.at(idx_node_r) << endl;
334  return prop_bycatch.at(idx_node_r) > 0.2 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the vessel has experienced large bycatch (>20%) on this ground?
335  }
336 };
337 
338 
339 
341 private:
342 public:
344  double evaluate(int fground, Vessel *v) const {
345  int currentbottom = v->get_loc()->get_marine_landscape();
346  vector<int> suitablebottoms = v->get_metier()->get_metier_suitable_seabottomtypes();
347  return binary_search(suitablebottoms.begin(), suitablebottoms.end(), currentbottom) ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf)
348  }
349 };
350 
352 private:
353 public:
355  double evaluate(int fground, Vessel *v) const {
356  double min_quota_left_among_avoided_stks = v->get_min_prop_remaining_individual_quotas_on_avoided_stks();
357  return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the individual quotas (for avoided species) left is low
358  }
359 };
360 
362 private:
363 public:
365  double evaluate(int fground, Vessel *v) const {
366  double min_quota_left_among_avoided_stks = v->get_min_prop_remaining_global_quotas_on_avoided_stks();
367 // cout << "min_quota_left_among_avoided_stks is " << min_quota_left_among_avoided_stks;
368  return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the global quotas (for avoided species) left is low
369  }
370 };
371 
372 
373 // ChangeGround
375 private:
376 public:
378  double evaluate(int fground, Vessel *v) const {
379  double min_quota_left_among_avoided_stks = v->get_min_prop_remaining_global_quotas_on_avoided_stks();
380 // cout << "min_quota_left_among_avoided_stks is " << min_quota_left_among_avoided_stks;
381  return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the global quotas (for avoided species) left is low
382  }
383 };
384 
386 private:
387 public:
389  double evaluate(int fground, Vessel *v) const {
390  double min_quota_left_among_avoided_stks = v->get_min_prop_remaining_global_quotas_on_avoided_stks();
391 // cout << "min_quota_left_among_avoided_stks is " << min_quota_left_among_avoided_stks;
392  return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0; // Is yes (right leaf) or no (left leaf) the global quotas (for avoided species) left is low
393  }
394 };
395 
396 
397 
398 
399 
400 
401 }
402 }
403 
404 #endif // VESSELSEVALUATORS_H
VesselKnowledgeOfThisGroundStateEvaluator()
Definition: vesselsevaluators.h:236
Definition: variables.h:12
VesselHighPotentialCatchStateEvaluator()
Definition: vesselsevaluators.h:214
double get_carrycapacity() const
Definition: Vessel.cpp:769
types::NodeId get_lowesttariff() const
Definition: Vessel.cpp:947
int getWeekEndStartDay() const
Definition: Vessel.h:578
vector< Vessel * > vessels
Definition: main.cpp:199
Definition: vesselsevaluators.h:35
AverageRevenuesComparationStateEvaluator()
Definition: vesselsevaluators.h:26
Metier * get_metier() const
Definition: Vessel.cpp:450
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:355
Definition: vesselsevaluators.h:166
Definition: vesselsevaluators.h:84
int getWorkDayEndHour() const
Definition: Vessel.h:581
double evaluate(int, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:136
Definition: variables.h:21
double evaluate(int, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:150
types::NodeId get_smartcatch() const
Definition: Vessel.cpp:932
VesselglobalQuotaLeftOnAvoidedStksIsStateEvaluator()
Definition: vesselsevaluators.h:286
VesselglobalQuotaLeftOnAvoidedStksHereIsStateEvaluator()
Definition: vesselsevaluators.h:364
Definition: vesselsevaluators.h:44
double get_cumcatches() const
Definition: Vessel.cpp:805
double evaluate(int, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:160
int getNumTrips() const
Definition: Vessel.h:564
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:298
Definition: idtypes.h:52
VesselRiskOfBycatchAvoidedStksIsStateEvaluator()
Definition: vesselsevaluators.h:262
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:263
static constexpr double WorkDay
Definition: vesselsevaluators.h:66
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:378
VesselTargetEvaluator()
Definition: vesselsevaluators.h:46
int tstep
Definition: main.cpp:205
vector< int > get_metier_target_stocks()
Definition: Metier.cpp:192
Definition: vesselsevaluators.h:63
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:328
AverageProfitComparationsStateEvaluator()
Definition: vesselsevaluators.h:14
double get_tankcapacity() const
Definition: Vessel.cpp:763
VesselSeeingOtherVesselFishingElsewhereStateEvaluator()
Definition: vesselsevaluators.h:388
VesselSmartCatchStateEvaluator()
Definition: vesselsevaluators.h:202
double evaluate(int tstep, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:170
Definition: vesselsevaluators.h:132
Definition: variables.h:13
VesselTodayIsStateEvaluator()
Definition: vesselsevaluators.h:69
VesselTariffThisGroundIsStateEvaluator()
Definition: vesselsevaluators.h:309
double evaluate(int tstep, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:89
An abstract class to allow internal/External states to be evaluated.
Definition: stateevaluator.h:14
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:310
const std::vector< double > & get_experienced_bycatch_prop_on_fgrounds() const
Definition: Vessel.cpp:542
double evaluate(int, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:15
int get_length_class() const
Definition: Vessel.cpp:474
double get_min_prop_remaining_individual_quotas_on_avoided_stks()
Definition: Vessel.cpp:876
static constexpr double WeekEndDay
Definition: vesselsevaluators.h:67
#define UNUSED(expr)
Definition: helpers.h:38
VesselsuitableBottomTypeIsStateEvaluator()
Definition: vesselsevaluators.h:343
VesselNotThatFarStateEvaluator()
Definition: vesselsevaluators.h:225
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:389
Definition: vesselsevaluators.h:199
VesselindividualQuotaLeftOnAvoidedStksHereIsStateEvaluator()
Definition: vesselsevaluators.h:354
Definition: Vessel.h:51
double evaluate(int, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:110
double evaluate(int, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:27
Definition: commonstateevaluators.h:8
double evaluate(int, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:57
VesselFuelTankStateEvaluator()
Definition: vesselsevaluators.h:135
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:226
VesselglobalQuotaLeftOnAvoidedStksNowIsStateEvaluator()
Definition: vesselsevaluators.h:109
types::NodeId get_mosthistoricallyused() const
Definition: Vessel.cpp:952
const std::vector< Node * > & get_map_of_nodes() const
Definition: Vessel.cpp:509
double evaluate(int, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:38
Node * get_loc() const
Definition: Vessel.cpp:444
VesselIsInAreaClosureEvaluator()
Definition: vesselsevaluators.h:187
int get_marine_landscape() const
Definition: Node.cpp:262
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:287
double getAvgTripRevenues() const
Definition: Vessel.h:555
int getWeekEndEndDay() const
Definition: Vessel.h:579
const std::vector< double > & get_experienced_avoided_stks_bycatch_prop_on_fgrounds() const
Definition: Vessel.cpp:547
VesselCatchVolumeStateEvaluator()
Definition: vesselsevaluators.h:149
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:188
VesselindividualQuotaLeftOnAvoidedStksIsStateEvaluator()
Definition: vesselsevaluators.h:276
VesselRiskOfBycatchAllStksIsStateEvaluator()
Definition: vesselsevaluators.h:247
double getLastTripProfit() const
Definition: Vessel.h:558
double evaluate(int, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:121
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:365
VesselindividualQuotaLeftOnAvoidedStksNowIsStateEvaluator()
Definition: vesselsevaluators.h:99
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:237
VesselLowestTariffStateEvaluator()
Definition: vesselsevaluators.h:297
Definition: vesselsevaluators.h:146
Definition: vesselsevaluators.h:222
vector< types::NodeId > & get_fgrounds_in_closed_areas()
Definition: Vessel.cpp:503
double evaluate(int, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:100
VesselMonthIsStateEvaluator()
Definition: vesselsevaluators.h:88
types::NodeId get_highpotentialcatch() const
Definition: Vessel.cpp:937
double get_cumfuelcons() const
Definition: Vessel.cpp:698
VesselSizeStateEvaluator()
Definition: vesselsevaluators.h:37
const vector< types::NodeId > & get_fgrounds() const
Definition: Vessel.cpp:492
double evaluate(int tstep, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:70
VesselEndOfTheDayIsStateEvaluator()
Definition: vesselsevaluators.h:169
static int variableBinCount(Variable var)
Definition: variables.cpp:170
double getAvgTripProfit() const
Definition: Vessel.h:561
VesselRiskOfBycatchAvoidedStksNowIsStateEvaluator()
Definition: vesselsevaluators.h:120
MetierStateEvaluator()
Definition: vesselsevaluators.h:56
Definition: vesselsevaluators.h:184
double get_timeatsea() const
Definition: Vessel.cpp:731
double evaluate(int, Vessel *vessel) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:47
VesselFeelingForCatchingElsewhereStateEvaluator()
Definition: vesselsevaluators.h:377
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:215
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:203
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:344
VesselNbOfDaysAtSeaSoFarIsStateEvaluator()
Definition: vesselsevaluators.h:159
Definition: vesselsevaluators.h:54
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:248
Definition: vesselsevaluators.h:294
double evaluate(int fground, Vessel *v) const
evaluate the state/variable, and returns the selected output, as double. Client can decide what to do...
Definition: vesselsevaluators.h:277
double get_min_prop_remaining_global_quotas_on_avoided_stks()
Definition: Vessel.cpp:900
double getLastTripRevenues() const
Definition: Vessel.h:549
int get_name()
Definition: Metier.cpp:71
VesselRiskOfBycatchAvoidedStksHereIsStateEvaluator()
Definition: vesselsevaluators.h:327
vector< int > get_metier_suitable_seabottomtypes()
Definition: Metier.cpp:198
types::NodeId get_notthatfar() const
Definition: Vessel.cpp:942