#pragma once #include "pandaAlgorithm.h" #include "OptScheduling.h" #include <vector> /** *@brief ֱ���Ż����� */ class PANDAALGORITHM_API FirstOptScheduling:public OptScheduling { public: FirstOptScheduling(); ~FirstOptScheduling(); /** * @brief Ŀ�꺯����������Ӧ��ֵ * @param [in] monitorVals */ virtual double objectiveFunction(float cost, const map<string, double>& monitorVals); /** * @brief ����ѹ��� * @param [in] HC[i]: ��ѹ��iԤ��ѹ��ֵ * @param [in] HF[I]: ��ѹ��iҪ������ˮ����ѹ���� * @return */ virtual double pressureDifference(const std::vector<double>& HC, const std::vector<double>& HF); /** * @brief ˮ�ù�ˮ���� * @param * @param * @return */ virtual double pumpPower(const PumpStruct& pumpParam); /** * @brief ��ˮ�ɱ� * @param [vector<double>] Q[i] ��i����վ��ˮ�� * @param [vector<double>] S3[i] ��i����վ����ˮ�ɱ�����λ: Ԫ/m3 * @return */ virtual double waterProductionCost(const vector<double>& Q, const vector<double>& S3); virtual double waterSupplyAndDemand(const vector<double>& Q, const double& Qd); };