Janus 2.0.0
High-performance C++20 dual-mode numerical framework
Loading...
Searching...
No Matches
Opti.hpp File Reference

High-level nonlinear programming interface. More...

#include "OptiOptions.hpp"
#include "OptiSol.hpp"
#include "OptiSweep.hpp"
#include "Scaling.hpp"
#include "janus/core/JanusError.hpp"
#include "janus/core/JanusTypes.hpp"
#include "janus/math/Calculus.hpp"
#include "janus/math/FiniteDifference.hpp"
#include <algorithm>
#include <casadi/casadi.hpp>
#include <cmath>
#include <limits>
#include <map>
#include <optional>
#include <set>
#include <string>
#include <vector>
Include dependency graph for Opti.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  janus::VariableOptions
 Options for variable creation. More...
class  janus::Opti
 Main optimization environment class. More...

Namespaces

namespace  janus
namespace  janus::detail
 Smooth approximation of ReLU function: softplus(x) = (1/beta) * log(1 + exp(beta * x)).

Functions

double janus::detail::validate_positive_scale (double scale, const std::string &context)
double janus::detail::max_finite_abs (std::optional< double > lower_bound, std::optional< double > upper_bound)
double janus::detail::suggest_scalar_scale (double init_guess, std::optional< double > lower_bound, std::optional< double > upper_bound)
double janus::detail::suggest_vector_scale (const NumericVector &init_guess, std::optional< double > lower_bound, std::optional< double > upper_bound)
std::vector< double > janus::detail::dm_to_std_vector (const casadi::DM &value)
double janus::detail::dm_to_scalar (const casadi::DM &value)
std::vector< casadi::MX > janus::detail::current_assignments (const casadi::Opti &opti)
double janus::detail::normalized_magnitude (double magnitude, double scale)
bool janus::detail::nearly_equal (double a, double b)
double janus::detail::constraint_violation (double value, double lower_bound, bool has_lower_bound, double upper_bound, bool has_upper_bound)
double janus::detail::constraint_magnitude (double value, double lower_bound, bool has_lower_bound, double upper_bound, bool has_upper_bound)
ScalingIssueLevel janus::detail::issue_level (double normalized, const ScalingAnalysisOptions &opts)

Detailed Description

High-level nonlinear programming interface.