1 #ifndef VESSELSEVALUATORS_H 2 #define VESSELSEVALUATORS_H 71 int wday = (
tstep / 24) % 7;
91 return ((
tstep/720) % 12) / 11.0;
102 return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0;
113 return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0;
124 double average_prop_bycatch= std::accumulate( prop_bycatch.begin(), prop_bycatch.end(), 0.0)/prop_bycatch.size();
126 return average_prop_bycatch > 0.2 ? 1.0 : 0.0;
171 int current_hour= (int)((
tstep % 24)+0.5);
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());
193 return isIt ? 1.0 : 0.0;
206 return isSmart ? 1.0 : 0.0;
218 return isHighPotential ? 1.0 : 0.0;
229 return isNotFar ? 1.0 : 0.0;
240 return isWellKnown ? 1.0 : 0.0;
250 int idx_node_r= find(the_grds.begin(), the_grds.end(),
types::NodeId(fground)) - the_grds.begin();
254 return prop_bycatch.at(idx_node_r) > 0.2 ? 1.0 : 0.0;
265 int idx_node_r= find(the_grds.begin(), the_grds.end(),
types::NodeId(fground)) - the_grds.begin();
269 return prop_bycatch.at(idx_node_r) > 0.2 ? 1.0 : 0.0;
279 return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0;
290 return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0;
301 return LowestTariff ? 1.0 : 0.0;
314 vector <double> tariffs_over_layers = v->
get_map_of_nodes().at(fground)->get_tariffs();
316 return tariffs_over_layers.at(0) >= 5 ? 1.0 : 0.0;
330 int idx_node_r= find(the_grds.begin(), the_grds.end(),
types::NodeId(fground)) - the_grds.begin();
334 return prop_bycatch.at(idx_node_r) > 0.2 ? 1.0 : 0.0;
347 return binary_search(suitablebottoms.begin(), suitablebottoms.end(), currentbottom) ? 1.0 : 0.0;
357 return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0;
368 return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0;
381 return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0;
392 return min_quota_left_among_avoided_stks < 0.1 ? 1.0 : 0.0;
404 #endif // VESSELSEVALUATORS_H VesselKnowledgeOfThisGroundStateEvaluator()
Definition: vesselsevaluators.h:236
Definition: vesselsevaluators.h:259
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
Definition: vesselsevaluators.h:374
AverageRevenuesComparationStateEvaluator()
Definition: vesselsevaluators.h:26
Metier * get_metier() const
Definition: Vessel.cpp:450
Definition: vesselsevaluators.h:306
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: vesselsevaluators.h:244
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
VesselRiskOfBycatchAvoidedStksIsStateEvaluator()
Definition: vesselsevaluators.h:262
Definition: vesselsevaluators.h:385
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
Definition: vesselsevaluators.h:106
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
Definition: vesselsevaluators.h:283
Definition: vesselsevaluators.h:361
VesselTodayIsStateEvaluator()
Definition: vesselsevaluators.h:69
Definition: vesselsevaluators.h:11
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
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
Definition: vesselsevaluators.h:233
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
Definition: vesselsevaluators.h:156
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
Definition: vesselsevaluators.h:23
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
Definition: vesselsevaluators.h:96
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
Definition: vesselsevaluators.h:211
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
Definition: vesselsevaluators.h:351
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
Definition: vesselsevaluators.h:117
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
Definition: vesselsevaluators.h:273
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
Definition: vesselsevaluators.h:340
double get_min_prop_remaining_global_quotas_on_avoided_stks()
Definition: Vessel.cpp:900
double getLastTripRevenues() const
Definition: Vessel.h:549
Definition: vesselsevaluators.h:324
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