#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModelingLabel {
#[prost(string, optional, tag = "1")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, repeated, tag = "2")]
pub subscripts: ::prost::alloc::vec::Vec<i64>,
#[prost(btree_map = "string, string", tag = "3")]
pub parameters: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "4")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
}
#[non_exhaustive]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Feature {
Unspecified = 0,
ConstraintIndicator = 1,
ConstraintOneHot = 2,
ConstraintSos1 = 3,
}
impl Feature {
pub fn as_str_name(&self) -> &'static str {
match self {
Feature::Unspecified => "FEATURE_UNSPECIFIED",
Feature::ConstraintIndicator => "FEATURE_CONSTRAINT_INDICATOR",
Feature::ConstraintOneHot => "FEATURE_CONSTRAINT_ONE_HOT",
Feature::ConstraintSos1 => "FEATURE_CONSTRAINT_SOS1",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FEATURE_UNSPECIFIED" => Some(Self::Unspecified),
"FEATURE_CONSTRAINT_INDICATOR" => Some(Self::ConstraintIndicator),
"FEATURE_CONSTRAINT_ONE_HOT" => Some(Self::ConstraintOneHot),
"FEATURE_CONSTRAINT_SOS1" => Some(Self::ConstraintSos1),
_ => None,
}
}
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Provenance {
#[prost(oneof = "provenance::Source", tags = "1, 2, 3")]
pub source: ::core::option::Option<provenance::Source>,
}
pub mod provenance {
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Source {
#[prost(uint64, tag = "1")]
IndicatorConstraintId(u64),
#[prost(uint64, tag = "2")]
OneHotConstraintId(u64),
#[prost(uint64, tag = "3")]
Sos1ConstraintId(u64),
}
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConstraintContext {
#[prost(message, optional, tag = "1")]
pub label: ::core::option::Option<ModelingLabel>,
#[prost(message, repeated, tag = "2")]
pub provenance: ::prost::alloc::vec::Vec<Provenance>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemovedReason {
#[prost(string, tag = "1")]
pub reason: ::prost::alloc::string::String,
#[prost(btree_map = "string, string", tag = "2")]
pub parameters: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegularConstraint {
#[prost(enumeration = "super::v1::Equality", tag = "1")]
pub equality: i32,
#[prost(message, optional, tag = "2")]
pub function: ::core::option::Option<super::v1::Function>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IndicatorConstraint {
#[prost(uint64, tag = "1")]
pub indicator_variable: u64,
#[prost(enumeration = "super::v1::Equality", tag = "2")]
pub equality: i32,
#[prost(message, optional, tag = "3")]
pub function: ::core::option::Option<super::v1::Function>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OneHotConstraint {
#[prost(uint64, repeated, tag = "1")]
pub variables: ::prost::alloc::vec::Vec<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Sos1Constraint {
#[prost(uint64, repeated, tag = "1")]
pub variables: ::prost::alloc::vec::Vec<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegularConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub active: ::prost::alloc::collections::BTreeMap<u64, RegularConstraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed: ::prost::alloc::collections::BTreeMap<u64, RegularConstraint>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "4")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IndicatorConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub active: ::prost::alloc::collections::BTreeMap<u64, IndicatorConstraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed: ::prost::alloc::collections::BTreeMap<u64, IndicatorConstraint>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "4")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OneHotConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub active: ::prost::alloc::collections::BTreeMap<u64, OneHotConstraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed: ::prost::alloc::collections::BTreeMap<u64, OneHotConstraint>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "4")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Sos1ConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub active: ::prost::alloc::collections::BTreeMap<u64, Sos1Constraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed: ::prost::alloc::collections::BTreeMap<u64, Sos1Constraint>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "4")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedRegularConstraint {
#[prost(enumeration = "super::v1::Equality", tag = "1")]
pub equality: i32,
#[prost(double, tag = "2")]
pub evaluated_value: f64,
#[prost(bool, tag = "3")]
pub feasible: bool,
#[prost(uint64, repeated, tag = "4")]
pub used_decision_variable_ids: ::prost::alloc::vec::Vec<u64>,
#[prost(double, optional, tag = "5")]
pub dual_variable: ::core::option::Option<f64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedIndicatorConstraint {
#[prost(uint64, tag = "1")]
pub indicator_variable: u64,
#[prost(enumeration = "super::v1::Equality", tag = "2")]
pub equality: i32,
#[prost(double, tag = "3")]
pub evaluated_value: f64,
#[prost(bool, tag = "4")]
pub feasible: bool,
#[prost(bool, tag = "5")]
pub indicator_active: bool,
#[prost(uint64, repeated, tag = "6")]
pub used_decision_variable_ids: ::prost::alloc::vec::Vec<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedOneHotConstraint {
#[prost(uint64, repeated, tag = "1")]
pub variables: ::prost::alloc::vec::Vec<u64>,
#[prost(bool, tag = "2")]
pub feasible: bool,
#[prost(uint64, optional, tag = "3")]
pub active_variable: ::core::option::Option<u64>,
#[prost(uint64, repeated, tag = "4")]
pub used_decision_variable_ids: ::prost::alloc::vec::Vec<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedSos1Constraint {
#[prost(uint64, repeated, tag = "1")]
pub variables: ::prost::alloc::vec::Vec<u64>,
#[prost(bool, tag = "2")]
pub feasible: bool,
#[prost(uint64, optional, tag = "3")]
pub active_variable: ::core::option::Option<u64>,
#[prost(uint64, repeated, tag = "4")]
pub used_decision_variable_ids: ::prost::alloc::vec::Vec<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedRegularConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, EvaluatedRegularConstraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedIndicatorConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, EvaluatedIndicatorConstraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedOneHotConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, EvaluatedOneHotConstraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedSos1ConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, EvaluatedSos1Constraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledActiveVariable {
#[prost(uint64, optional, tag = "1")]
pub variable_id: ::core::option::Option<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledRegularConstraint {
#[prost(enumeration = "super::v1::Equality", tag = "1")]
pub equality: i32,
#[prost(message, optional, tag = "2")]
pub evaluated_values: ::core::option::Option<super::v1::SampledValues>,
#[prost(btree_map = "uint64, bool", tag = "3")]
pub feasible: ::prost::alloc::collections::BTreeMap<u64, bool>,
#[prost(uint64, repeated, tag = "4")]
pub used_decision_variable_ids: ::prost::alloc::vec::Vec<u64>,
#[prost(message, optional, tag = "5")]
pub dual_variables: ::core::option::Option<super::v1::SampledValues>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledIndicatorConstraint {
#[prost(uint64, tag = "1")]
pub indicator_variable: u64,
#[prost(enumeration = "super::v1::Equality", tag = "2")]
pub equality: i32,
#[prost(message, optional, tag = "3")]
pub evaluated_values: ::core::option::Option<super::v1::SampledValues>,
#[prost(btree_map = "uint64, bool", tag = "4")]
pub feasible: ::prost::alloc::collections::BTreeMap<u64, bool>,
#[prost(btree_map = "uint64, bool", tag = "5")]
pub indicator_active: ::prost::alloc::collections::BTreeMap<u64, bool>,
#[prost(uint64, repeated, tag = "6")]
pub used_decision_variable_ids: ::prost::alloc::vec::Vec<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledOneHotConstraint {
#[prost(uint64, repeated, tag = "1")]
pub variables: ::prost::alloc::vec::Vec<u64>,
#[prost(btree_map = "uint64, bool", tag = "2")]
pub feasible: ::prost::alloc::collections::BTreeMap<u64, bool>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub active_variable: ::prost::alloc::collections::BTreeMap<u64, SampledActiveVariable>,
#[prost(uint64, repeated, tag = "4")]
pub used_decision_variable_ids: ::prost::alloc::vec::Vec<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledSos1Constraint {
#[prost(uint64, repeated, tag = "1")]
pub variables: ::prost::alloc::vec::Vec<u64>,
#[prost(btree_map = "uint64, bool", tag = "2")]
pub feasible: ::prost::alloc::collections::BTreeMap<u64, bool>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub active_variable: ::prost::alloc::collections::BTreeMap<u64, SampledActiveVariable>,
#[prost(uint64, repeated, tag = "4")]
pub used_decision_variable_ids: ::prost::alloc::vec::Vec<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledRegularConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, SampledRegularConstraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledIndicatorConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, SampledIndicatorConstraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledOneHotConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, SampledOneHotConstraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledSos1ConstraintCollection {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, SampledSos1Constraint>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub removed_reasons: ::prost::alloc::collections::BTreeMap<u64, RemovedReason>,
#[prost(btree_map = "uint64, message", tag = "3")]
pub contexts: ::prost::alloc::collections::BTreeMap<u64, ConstraintContext>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DecisionVariable {
#[prost(enumeration = "super::v1::decision_variable::Kind", tag = "1")]
pub kind: i32,
#[prost(message, optional, tag = "2")]
pub bound: ::core::option::Option<super::v1::Bound>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedDecisionVariable {
#[prost(enumeration = "super::v1::decision_variable::Kind", tag = "1")]
pub kind: i32,
#[prost(message, optional, tag = "2")]
pub bound: ::core::option::Option<super::v1::Bound>,
#[prost(double, tag = "3")]
pub value: f64,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledDecisionVariable {
#[prost(enumeration = "super::v1::decision_variable::Kind", tag = "1")]
pub kind: i32,
#[prost(message, optional, tag = "2")]
pub bound: ::core::option::Option<super::v1::Bound>,
#[prost(message, optional, tag = "3")]
pub samples: ::core::option::Option<super::v1::SampledValues>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DecisionVariableTable {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, DecisionVariable>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub labels: ::prost::alloc::collections::BTreeMap<u64, ModelingLabel>,
#[prost(btree_map = "uint64, double", tag = "3")]
pub fixed_values: ::prost::alloc::collections::BTreeMap<u64, f64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedDecisionVariableTable {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, EvaluatedDecisionVariable>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub labels: ::prost::alloc::collections::BTreeMap<u64, ModelingLabel>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledDecisionVariableTable {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, SampledDecisionVariable>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub labels: ::prost::alloc::collections::BTreeMap<u64, ModelingLabel>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NamedFunction {
#[prost(message, optional, tag = "1")]
pub function: ::core::option::Option<super::v1::Function>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedNamedFunction {
#[prost(double, tag = "1")]
pub evaluated_value: f64,
#[prost(uint64, repeated, tag = "2")]
pub used_decision_variable_ids: ::prost::alloc::vec::Vec<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledNamedFunction {
#[prost(message, optional, tag = "1")]
pub evaluated_values: ::core::option::Option<super::v1::SampledValues>,
#[prost(uint64, repeated, tag = "2")]
pub used_decision_variable_ids: ::prost::alloc::vec::Vec<u64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NamedFunctionTable {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, NamedFunction>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub labels: ::prost::alloc::collections::BTreeMap<u64, ModelingLabel>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvaluatedNamedFunctionTable {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, EvaluatedNamedFunction>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub labels: ::prost::alloc::collections::BTreeMap<u64, ModelingLabel>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampledNamedFunctionTable {
#[prost(btree_map = "uint64, message", tag = "1")]
pub entries: ::prost::alloc::collections::BTreeMap<u64, SampledNamedFunction>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub labels: ::prost::alloc::collections::BTreeMap<u64, ModelingLabel>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Instance {
#[prost(enumeration = "Feature", repeated, tag = "1")]
pub required_features: ::prost::alloc::vec::Vec<i32>,
#[prost(message, optional, tag = "2")]
pub description: ::core::option::Option<super::v1::instance::Description>,
#[prost(message, optional, tag = "3")]
pub decision_variables: ::core::option::Option<DecisionVariableTable>,
#[prost(message, optional, tag = "4")]
pub objective: ::core::option::Option<super::v1::Function>,
#[prost(message, optional, tag = "5")]
pub regular_constraints: ::core::option::Option<RegularConstraintCollection>,
#[prost(enumeration = "super::v1::instance::Sense", tag = "6")]
pub sense: i32,
#[prost(message, optional, tag = "7")]
pub parameters: ::core::option::Option<super::v1::Parameters>,
#[prost(message, optional, tag = "8")]
pub indicator_constraints: ::core::option::Option<IndicatorConstraintCollection>,
#[prost(message, optional, tag = "9")]
pub one_hot_constraints: ::core::option::Option<OneHotConstraintCollection>,
#[prost(message, optional, tag = "10")]
pub sos1_constraints: ::core::option::Option<Sos1ConstraintCollection>,
#[prost(btree_map = "uint64, message", tag = "11")]
pub decision_variable_dependency:
::prost::alloc::collections::BTreeMap<u64, super::v1::Function>,
#[prost(message, optional, tag = "12")]
pub named_functions: ::core::option::Option<NamedFunctionTable>,
#[prost(btree_map = "string, string", tag = "13")]
pub annotations: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParameterTable {
#[prost(uint64, repeated, tag = "1")]
pub ids: ::prost::alloc::vec::Vec<u64>,
#[prost(btree_map = "uint64, message", tag = "2")]
pub labels: ::prost::alloc::collections::BTreeMap<u64, ModelingLabel>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParametricInstance {
#[prost(enumeration = "Feature", repeated, tag = "1")]
pub required_features: ::prost::alloc::vec::Vec<i32>,
#[prost(message, optional, tag = "2")]
pub description: ::core::option::Option<super::v1::instance::Description>,
#[prost(message, optional, tag = "3")]
pub decision_variables: ::core::option::Option<DecisionVariableTable>,
#[prost(message, optional, tag = "4")]
pub parameters: ::core::option::Option<ParameterTable>,
#[prost(message, optional, tag = "5")]
pub objective: ::core::option::Option<super::v1::Function>,
#[prost(message, optional, tag = "6")]
pub regular_constraints: ::core::option::Option<RegularConstraintCollection>,
#[prost(enumeration = "super::v1::instance::Sense", tag = "7")]
pub sense: i32,
#[prost(message, optional, tag = "8")]
pub indicator_constraints: ::core::option::Option<IndicatorConstraintCollection>,
#[prost(message, optional, tag = "9")]
pub one_hot_constraints: ::core::option::Option<OneHotConstraintCollection>,
#[prost(message, optional, tag = "10")]
pub sos1_constraints: ::core::option::Option<Sos1ConstraintCollection>,
#[prost(btree_map = "uint64, message", tag = "11")]
pub decision_variable_dependency:
::prost::alloc::collections::BTreeMap<u64, super::v1::Function>,
#[prost(message, optional, tag = "12")]
pub named_functions: ::core::option::Option<NamedFunctionTable>,
#[prost(btree_map = "string, string", tag = "13")]
pub annotations: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SampleSet {
#[prost(enumeration = "Feature", repeated, tag = "1")]
pub required_features: ::prost::alloc::vec::Vec<i32>,
#[prost(message, optional, tag = "2")]
pub objectives: ::core::option::Option<super::v1::SampledValues>,
#[prost(message, optional, tag = "3")]
pub decision_variables: ::core::option::Option<SampledDecisionVariableTable>,
#[prost(message, optional, tag = "4")]
pub sampled_regular_constraints: ::core::option::Option<SampledRegularConstraintCollection>,
#[prost(btree_map = "uint64, bool", tag = "5")]
pub feasible: ::prost::alloc::collections::BTreeMap<u64, bool>,
#[prost(enumeration = "super::v1::instance::Sense", tag = "6")]
pub sense: i32,
#[prost(btree_map = "uint64, bool", tag = "7")]
pub feasible_relaxed: ::prost::alloc::collections::BTreeMap<u64, bool>,
#[prost(message, optional, tag = "8")]
pub sampled_named_functions: ::core::option::Option<SampledNamedFunctionTable>,
#[prost(message, optional, tag = "9")]
pub metadata: ::core::option::Option<super::v1::ProcessMetadata>,
#[prost(btree_map = "string, string", tag = "10")]
pub annotations: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "11")]
pub sampled_indicator_constraints: ::core::option::Option<SampledIndicatorConstraintCollection>,
#[prost(message, optional, tag = "12")]
pub sampled_one_hot_constraints: ::core::option::Option<SampledOneHotConstraintCollection>,
#[prost(message, optional, tag = "13")]
pub sampled_sos1_constraints: ::core::option::Option<SampledSos1ConstraintCollection>,
#[prost(double, optional, tag = "14")]
pub feasibility_atol: ::core::option::Option<f64>,
}
#[non_exhaustive]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Solution {
#[prost(enumeration = "Feature", repeated, tag = "1")]
pub required_features: ::prost::alloc::vec::Vec<i32>,
#[prost(double, tag = "2")]
pub objective: f64,
#[prost(message, optional, tag = "3")]
pub decision_variables: ::core::option::Option<EvaluatedDecisionVariableTable>,
#[prost(message, optional, tag = "4")]
pub evaluated_regular_constraints: ::core::option::Option<EvaluatedRegularConstraintCollection>,
#[prost(bool, tag = "5")]
pub feasible: bool,
#[prost(enumeration = "super::v1::Optimality", tag = "6")]
pub optimality: i32,
#[prost(enumeration = "super::v1::Relaxation", tag = "7")]
pub relaxation: i32,
#[prost(bool, optional, tag = "8")]
pub feasible_relaxed: ::core::option::Option<bool>,
#[prost(enumeration = "super::v1::instance::Sense", tag = "9")]
pub sense: i32,
#[prost(message, optional, tag = "10")]
pub evaluated_named_functions: ::core::option::Option<EvaluatedNamedFunctionTable>,
#[prost(message, optional, tag = "11")]
pub metadata: ::core::option::Option<super::v1::ProcessMetadata>,
#[prost(btree_map = "string, string", tag = "12")]
pub annotations: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "13")]
pub evaluated_indicator_constraints:
::core::option::Option<EvaluatedIndicatorConstraintCollection>,
#[prost(message, optional, tag = "14")]
pub evaluated_one_hot_constraints: ::core::option::Option<EvaluatedOneHotConstraintCollection>,
#[prost(message, optional, tag = "15")]
pub evaluated_sos1_constraints: ::core::option::Option<EvaluatedSos1ConstraintCollection>,
#[prost(double, optional, tag = "16")]
pub feasibility_atol: ::core::option::Option<f64>,
}