Source code for kona.examples.exponential_constrained

import numpy as np

from kona.user import UserSolver

[docs]class ExponentialConstrained(UserSolver): def __init__(self, init_x=[1., 1.]): super(ExponentialConstrained, self).__init__( num_design=2, num_state=0, num_eq=1, num_ineq=0) self.init_x = np.array(init_x)
[docs] def eval_obj(self, at_design, at_state): x = at_design[0] y = at_design[1] return x + y**2
[docs] def eval_residual(self, at_design, at_state, store_here): pass
[docs] def eval_eq_cnstr(self, at_design, at_state): x = at_design[0] return np.array([np.exp(x) - 1.])
[docs] def multiply_dCEQdX(self, at_design, at_state, in_vec): x = at_design[0] return np.array([np.exp(x)*in_vec[0]])
[docs] def multiply_dCEQdX_T(self, at_design, at_state, in_vec): x = at_design[0] return np.array([np.exp(x)*in_vec[0], 0.])
[docs] def eval_dFdX(self, at_design, at_state): y = at_design[1] return np.array([1., 2*y])
[docs] def eval_dFdU(self, at_design, at_state, store_here): store_here.data[:] = 0.0
[docs] def init_design(self): return self.init_x