gtopt::OutputContext class

Public types

using ArrowArrays = std::vector<ArrowArray>
using ArrowFieldArrays = std::pair<ArrowFields, ArrowArrays>
using ArrowFields = std::vector<ArrowField>
using ClassFieldName = std::pair<std::string_view, Name>
template<typename Type = double>
using FieldType = std::tuple<Name, std::vector<Type>, ValidVector, const ArrowFieldArrays*>
template<typename Type = double>
using FieldVector = std::vector<FieldType<Type>>
template<typename Type = double>
using FieldVectorMap = std::map<ClassFieldName, FieldVector<Type>>
using ValidVector = std::vector<bool>

Constructors, destructors, conversion operators

OutputContext(const SystemContext& psc, const LinearInterface& linear_interface, SceneUid scene_uid = SceneUid {0}, PhaseUid phase_uid = PhaseUid {0}) explicit

Public functions

auto add_col_cost(std::string_view cname, std::string_view col_name, const Id& id, const GSTBIndexHolder<ColIndex>& holder) -> constexpr void
auto add_col_cost(std::string_view cname, std::string_view col_name, const Id& id, const STBIndexHolder<ColIndex>& holder) -> constexpr void
auto add_col_cost(std::string_view cname, std::string_view col_name, const Id& id, const STIndexHolder<ColIndex>& holder) -> constexpr void
auto add_col_cost(std::string_view cname, std::string_view col_name, const Id& id, const TIndexHolder<ColIndex>& holder) -> constexpr void
auto add_col_sol(std::string_view cname, std::string_view col_name, const Id& id, const GSTBIndexHolder<ColIndex>& holder) -> constexpr void
auto add_col_sol(std::string_view cname, std::string_view col_name, const Id& id, const STBIndexHolder<ColIndex>& holder) -> constexpr void
auto add_col_sol(std::string_view cname, std::string_view col_name, const Id& id, const STIndexHolder<ColIndex>& holder) -> constexpr void
auto add_col_sol(std::string_view cname, std::string_view col_name, const Id& id, const TIndexHolder<ColIndex>& holder) -> constexpr void
auto add_row_dual(std::string_view cname, std::string_view row_name, const Id& id, const GSTBIndexHolder<RowIndex>& holder) -> constexpr void
auto add_row_dual(std::string_view cname, std::string_view row_name, const Id& id, const STBIndexHolder<RowIndex>& holder) -> constexpr void
auto add_row_dual(std::string_view cname, std::string_view row_name, const Id& id, const STBIndexHolder<RowIndex>& holder, const STIndexHolder<double>& st_scale) -> constexpr void
auto add_row_dual(std::string_view cname, std::string_view row_name, const Id& id, const STIndexHolder<RowIndex>& holder) -> constexpr void
auto add_row_dual(std::string_view cname, std::string_view row_name, const Id& id, const TIndexHolder<RowIndex>& holder) -> constexpr void
auto add_row_dual_raw(std::string_view cname, std::string_view row_name, const Id& id, const STBIndexHolder<RowIndex>& holder) -> constexpr void
add_row_dual using discount-only scaling (scale_obj / discount[t]).
auto options() const -> auto&&
auto write() const -> void

Function documentation

constexpr void gtopt::OutputContext::add_row_dual(std::string_view cname, std::string_view row_name, const Id& id, const STBIndexHolder<RowIndex>& holder, const STIndexHolder<double>& st_scale)

add_row_dual with an additional per-(scenario,stage) back-scale factor. Used by StorageLP::add_to_output for daily-cycle dual correction.