Environments#
The package ships four Gymnasium env classes. All conform to the
plan §3 action-space contract — Dict({"design": ..., "runtime": ...})
— even when one half is empty for clarity.
SwmmRTCEnv — runtime-only#
Drives one or more runtime factories every step(). Design Dict is
empty. Standard gymnasium.Env; returns (obs, reward, terminated, truncated, info).
SwmmCIPEnv — design-only#
Single-step contextual-bandit pattern. The agent picks a design action; the env simulates the whole episode under that design and returns the cumulative cost as the terminal reward. Ideal for plugging into NSGA-II / NSGA-III via the Platypus adapter.
SwmmJointCIPRTCEnv — full hybrid#
Design action sampled at reset() (or supplied via
options["design_action"]) and locked for the episode. Runtime control
each step().
SwmmMORTCEnv — multi-objective#
Returns vector reward (one component per RewardTerm) with per-term
sign-flipping so higher is better. Populates info["mo_score"] at
episode termination with the single-point normalised hypervolume of
the cumulative-cost vector.
Registered IDs#
Gymnasium ID |
Class |
Purpose |
|---|---|---|
|
|
Framework test env over |
|
|
As above; CIP variant |
|
|
As above; joint variant |
|
|
As above; MO variant |
|
|
Bundled benchmark b01 |
|
|
As above; joint variant |
|
|
As above; MO variant |