use serde::{Deserialize, Serialize};
use solverforge::prelude::*;
use super::Container;
use super::Item;
#[planning_solution(
constraints = "crate::constraints::create_constraints",
solver_toml = "../../solver.toml"
)]
#[derive(Serialize, Deserialize)]
pub struct Plan {
#[problem_fact_collection]
pub item_facts: Vec<Item>,
#[planning_entity_collection]
pub containers: Vec<Container>,
#[planning_score]
pub score: Option<HardSoftScore>,
}
impl Plan {
pub fn new(
item_facts: Vec<Item>,
containers: Vec<Container>,
) -> Self {
Self {
item_facts,
containers,
score: None,
}
}
}