def __init__(self, *args, **kwargs): # TODO: add the field to ALL classes self.err = ooerr self.warn = oowarn self.info = ooinfo self.hint = oohint self.pWarn = ooPWarn self.disp = oodisp self.data4TextOutput = ['objFunVal', 'log10(maxResidual)'] self.nEvals = {} if hasattr(self, 'expectedArgs'): if len(self.expectedArgs) < len(args): self.err('Too much arguments for ' + self.probType + ': ' + str(len(args)) + ' are got, at most ' + str(len(self.expectedArgs)) + ' were expected') for i, arg in enumerate(args): setattr(self, self.expectedArgs[i], arg) self.norm = norm self.denyingStopFuncs = denyingStopFuncs() self.iterfcn = lambda *args, **kwargs: ooIter( self, *args, **kwargs ) # this parameter is only for OpenOpt developers, not common users self.graphics = Graphics() self.user = user() self.F = lambda x: self.objFuncMultiple2Single(self.objFunc( x)) # TODO: should be changes for LP, MILP, QP classes! self.point = lambda *args, **kwargs: Point(self, *args, **kwargs) self.timeElapsedForPlotting = [0.] self.cpuTimeElapsedForPlotting = [0.] #user can redirect these ones, as well as debugmsg self.debugmsg = lambda msg: oodebugmsg(self, msg) self.constraints = [] # used in isFDmodel self.callback = [] # user-defined callback function(s) self.solverParams = autocreate() self.userProvided = autocreate() self.special = autocreate() self.intVars = [] # for problems like MILP self.binVars = [] # for problems like MILP self.optionalData = [ ] #string names of optional data like 'c', 'h', 'Aeq' etc if self.allowedGoals is not None: # None in EIG if 'min' in self.allowedGoals: self.minimize = lambda *args, **kwargs: minimize( self, *args, **kwargs) if 'max' in self.allowedGoals: self.maximize = lambda *args, **kwargs: maximize( self, *args, **kwargs) assignScript(self, kwargs)
def __init__(self, *args, **kwargs): NonLinProblem.__init__(self, *args, **kwargs) assignScript(self, kwargs) self.fff = self.f def ff(x): r = [] for i in range(self.Y.shape[0]): r.append(asfarray(self.fff(x, self.X[i])-self.Y[i])**2) return r self.f = ff
def __init__(self, *args, **kwargs): # TODO: add the field to ALL classes self.err = ooerr self.warn = oowarn self.info = ooinfo self.hint = oohint self.pWarn = ooPWarn self.disp = oodisp self.data4TextOutput = ['objFunVal', 'log10(maxResidual)'] self.nEvals = {} if hasattr(self, 'expectedArgs'): if len(self.expectedArgs)<len(args): self.err('Too much arguments for '+self.probType +': '+ str(len(args)) +' are got, at most '+ str(len(self.expectedArgs)) + ' were expected') for i, arg in enumerate(args): setattr(self, self.expectedArgs[i], arg) self.norm = norm self.denyingStopFuncs = denyingStopFuncs() self.iterfcn = lambda *args, **kwargs: ooIter(self, *args, **kwargs)# this parameter is only for OpenOpt developers, not common users self.graphics = Graphics() self.user = user() self.F = lambda x: self.objFuncMultiple2Single(self.objFunc(x)) # TODO: should be changes for LP, MILP, QP classes! self.point = lambda *args, **kwargs: Point(self, *args, **kwargs) self.timeElapsedForPlotting = [0.] self.cpuTimeElapsedForPlotting = [0.] #user can redirect these ones, as well as debugmsg self.debugmsg = lambda msg: oodebugmsg(self, msg) self.constraints = [] # used in isFDmodel self.callback = [] # user-defined callback function(s) self.solverParams = autocreate() self.userProvided = autocreate() self.special = autocreate() self.intVars = [] # for problems like MILP self.binVars = [] # for problems like MILP self.optionalData = []#string names of optional data like 'c', 'h', 'Aeq' etc if self.allowedGoals is not None: # None in EIG if 'min' in self.allowedGoals: self.minimize = lambda *args, **kwargs: minimize(self, *args, **kwargs) if 'max' in self.allowedGoals: self.maximize = lambda *args, **kwargs: maximize(self, *args, **kwargs) assignScript(self, kwargs)
def llavp_init(prob, kwargs): prob.probType = 'LLAVP' prob.goal = 'minimum' prob.allowedGoals = ['minimum', 'min'] prob.showGoal = False kwargs['C'] = asfarray(kwargs['C']) prob.n = kwargs['C'].shape[1] prob.lb = -inf * ones(prob.n) prob.ub = inf * ones(prob.n) if 'damp' not in kwargs.keys(): kwargs['damp'] = None if 'X' not in kwargs.keys(): kwargs['X'] = nan*ones(prob.n) if prob.x0 is None: prob.x0 = zeros(prob.n) return assignScript(prob, kwargs)
def llavp_init(prob, kwargs): prob.probType = 'LLAVP' prob.goal = 'minimum' prob.allowedGoals = ['minimum', 'min'] prob.showGoal = False kwargs['C'] = asfarray(kwargs['C']) prob.n = kwargs['C'].shape[1] prob.lb = -inf * ones(prob.n) prob.ub = inf * ones(prob.n) if 'damp' not in kwargs.keys(): kwargs['damp'] = None if 'X' not in kwargs.keys(): kwargs['X'] = nan * ones(prob.n) if prob.x0 is None: prob.x0 = zeros(prob.n) return assignScript(prob, kwargs)