8#ifndef OPTIMIZATION_UNIT_GUROBI_HPP
9#define OPTIMIZATION_UNIT_GUROBI_HPP
12#error "This header requires USE_GUROBI to be defined. Please compile with -D USE_GUROBI when including header file " __FILE__
18#include "gurobi_c++.h"
32 const unsigned long ts,
36 double current_bs_charge_kWh,
37 const std::vector<float>& future_resid_demand_kW,
38 const std::vector<double>& future_pv_generation_kW,
39 const std::vector<double>& future_hp_shiftable_maxP,
40 const std::vector<double>& future_hp_shiftable_minP,
41 const std::vector<double>& future_hp_shiftable_maxE,
42 const std::vector<double>& future_hp_shiftable_minE,
43 const std::vector<
const std::vector<double>*>* future_ev_shiftable_maxE,
44 const std::vector<
const std::vector<double>*>* future_ev_shiftable_minE,
45 const std::vector<
const std::vector<double>*>* future_ev_maxP,
46 const bool optimize_PV_size,
47 const bool optimize_BS_size,
48 const std::list<std::vector<double>>* total_PV_generation_per_section_kW,
49 const std::list<double>* max_PV_power_per_section_kWp
Definition optimization_unit_general.hpp:16
unsigned long time_horizon
Definition optimization_unit_general.hpp:20
const unsigned long n_cars
Number of EVs with the given control unit as home place.
Definition optimization_unit_general.hpp:19
virtual bool updateController(const unsigned long ts, double max_p_bs_kW, double max_e_bs_kWh, double max_p_cs_kW, double current_bs_charge_kWh, const std::vector< float > &future_resid_demand_kW, const std::vector< double > &future_pv_generation_kW, const std::vector< double > &future_hp_shiftable_maxP, const std::vector< double > &future_hp_shiftable_minP, const std::vector< double > &future_hp_shiftable_maxE, const std::vector< double > &future_hp_shiftable_minE, const std::vector< const std::vector< double > * > *future_ev_shiftable_maxE, const std::vector< const std::vector< double > * > *future_ev_shiftable_minE, const std::vector< const std::vector< double > * > *future_ev_maxP, const bool optimize_PV_size, const bool optimize_BS_size, const std::list< std::vector< double > > *total_PV_generation_per_section_kW, const std::list< double > *max_PV_power_per_section_kWp)=0
Executes the controller with all (future) states in the current horizon and stores the results the me...
Definition optimization_unit_gurobi.hpp:20
bool updateController(const unsigned long ts, double max_p_bs_kW, double max_e_bs_kWh, double max_p_cs_kW, double current_bs_charge_kWh, const std::vector< float > &future_resid_demand_kW, const std::vector< double > &future_pv_generation_kW, const std::vector< double > &future_hp_shiftable_maxP, const std::vector< double > &future_hp_shiftable_minP, const std::vector< double > &future_hp_shiftable_maxE, const std::vector< double > &future_hp_shiftable_minE, const std::vector< const std::vector< double > * > *future_ev_shiftable_maxE, const std::vector< const std::vector< double > * > *future_ev_shiftable_minE, const std::vector< const std::vector< double > * > *future_ev_maxP, const bool optimize_PV_size, const bool optimize_BS_size, const std::list< std::vector< double > > *total_PV_generation_per_section_kW, const std::list< double > *max_PV_power_per_section_kWp)
Executes the controller with all (future) states in the current horizon and stores the results the me...
Definition optimization_unit_gurobi.cpp:13
static void InitializeGurobiEnvironment()
Definition optimization_unit_gurobi.cpp:375
static void VaccumAllStaticVariables()
Definition optimization_unit_gurobi.cpp:381
GurobiLPController(unsigned long cuID, unsigned int time_horizon, unsigned long n_cars)
Definition optimization_unit_gurobi.hpp:26