Exemple #1
0
    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)
Exemple #2
0
 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)
Exemple #4
0
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)
Exemple #5
0
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)