powers-rs 0.2.0

An implementation of the Stochastic Dual Dynamic Programming (SDDP) algorithm in pure Rust, for the hydrothermal dispatch problem.
Documentation
{
    "initial_condition": {
        "storage": [
            {
                "hydro_id": 0,
                "value": 83.222
            }
        ],
        "inflow": [
            {
                "hydro_id": 0,
                "lag": 1,
                "value": 50.0
            }
        ]
    },
    "uncertainties": [
        {
            "season_id": 0,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 1,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 2,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 3,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 4,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 5,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 6,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 7,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 8,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 9,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 10,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        },
        {
            "season_id": 11,
            "num_branchings": 10,
            "distributions": {
                "load": [
                    {
                        "bus_id": 0,
                        "normal": {
                            "mu": 75.0,
                            "sigma": 0.0
                        }
                    }
                ],
                "inflow": [
                    {
                        "hydro_id": 0,
                        "lognormal": {
                            "mu": 3.6,
                            "sigma": 0.6928
                        }
                    }
                ]
            }
        }
    ]
}