Changeset 3802


Ignore:
Timestamp:
03/09/11 20:25:30 (3 years ago)
Author:
wehart
Message:

Update of MIP test baselines.

Fix to PICO logic when no constraint data is generated.

Location:
coopr.plugins/trunk/coopr/plugins
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • coopr.plugins/trunk/coopr/plugins/converter/pyomo.py

    r3785 r3802  
    7272            else: 
    7373                model = coopr.pyomo.scripting.pyomo2lp(['--save-model',problem_filename,args[2]]) 
    74                 return (model.filename,),varmap 
     74                return (model.filename,),None 
    7575 
    7676        elif args[1] in [ProblemFormat.mps, ProblemFormat.nl]: 
     
    8383                varmap = model.symbol_map 
    8484            if args[1] is ProblemFormat.nl: 
    85                 return (problem_filename,),varmap 
     85                return (problem_filename,),None 
    8686            # 
    8787            # Convert from NL to MPS 
  • coopr.plugins/trunk/coopr/plugins/mip/PICO.py

    r3768 r3802  
    132132        #results.solver.statistics.branch_and_bound.number_of_bounded_subproblems=0 
    133133        soln = results.solution.add() 
    134         soln.objective['f'].value = None 
     134        soln.objective['__default_objective__'].value = None 
    135135        # 
    136136        # Process logfile 
     
    147147             results.solver.status=SolverStatus.aborted 
    148148          elif len(tokens) == 5 and tokens[0] == "Final" and tokens[1] == "Solution:": 
    149              soln.objective['f'].value = eval(tokens[4]) 
     149             soln.objective['__default_objective__'].value = eval(tokens[4]) 
    150150             soln.status = SolutionStatus.optimal 
    151151          elif len(tokens) == 3 and tokens[0] == "LP" and tokens[1] == "value=": 
    152              soln.objective['f'].value = eval(tokens[2]) 
     152             soln.objective['__default_objective__'].value = eval(tokens[2]) 
    153153             soln.status=SolutionStatus.optimal 
    154154             if results.problem.sense == ProblemSense.minimize: 
     
    188188           soln.gap=0.0 
    189189           if results.problem.sense == ProblemSense.minimize: 
    190                 results.problem.lower_bound = soln.objective['f'].value 
     190                results.problem.lower_bound = soln.objective['__default_objective__'].value 
    191191                if "upper_bound" in dir(results.problem): 
    192192                    del results.problem.upper_bound 
    193193           else: 
    194                 results.problem.upper_bound = soln.objective['f'].value 
     194                results.problem.upper_bound = soln.objective['__default_objective__'].value 
    195195                if "lower_bound" in dir(results.problem): 
    196196                    del results.problem.lower_bound 
     
    235235        INPUT = open(self.soln_file,"r") 
    236236        lp_flag=None 
     237        var_flag=True 
    237238        for line in INPUT: 
    238239            tokens = re.split('[ \t]+',line.strip()) 
     
    246247                continue 
    247248            if tokens[0] == "Dual" and tokens[1] == "solution:": 
     249                var_flag=False 
    248250                # It looks like we've just been processing primal 
    249251                # variables. 
     
    257259                print "ERROR", line,tokens 
    258260            tmp.append( (tokens[0],eval(tokens[2])) ) 
    259         if (lp_flag is True) and (extract_duals is True): 
     261        if var_flag: 
    260262            for (var,val) in tmp: 
    261                 soln.constraint[var].dual = val 
     263                if var == 'ONE_VAR_CONSTANT': 
     264                    continue 
     265                soln.variable[var] = val 
    262266        else: 
    263             for (var,val) in tmp: 
    264                 soln.constraint[var] = val  
     267            if (lp_flag is True) and (extract_duals is True): 
     268                for (var,val) in tmp: 
     269                    soln.constraint[var].dual = val 
     270            else: 
     271                for (var,val) in tmp: 
     272                    soln.constraint[var] = val  
    265273        INPUT.close() 
    266274        #print soln 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test1_cbc.txt

    r3761 r3802  
    3333  Status: optimal 
    3434  Objective:  
    35     f:  
     35    __default_objective__:  
    3636      Id: 0 
    3737      Value: 3 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test1_cplex.txt

    r2716 r3802  
    3434  Status: optimal 
    3535  Objective:  
    36     f:  
     36    OBJ:  
    3737      Id: 0 
    3838      Value: 3 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test1_glpk.txt

    r3761 r3802  
    3333  Status: optimal 
    3434  Objective:  
    35     f:  
     35    OBJ:  
    3636      Id: 0 
    3737      Value: 3 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test1_gurobi.txt

    r3466 r3802  
    3939  Message: Model was solved to optimality (subject to tolerances), and an optimal solution is available. 
    4040  Objective:  
    41     f:  
     41    OBJ:  
    4242      Id: 0 
    4343      Value: 3.0 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test1_pico.txt

    r3761 r3802  
    3434  Status: optimal 
    3535  Objective:  
    36     f:  
     36    __default_objective__:  
    3737      Id: 0 
    3838      Value: 3 
     
    4747      Id: 2 
    4848      Value: 1 
    49   Constraint:  
    50     NODEA1:  
    51       Id: 0 
    52       Dual: 1 
    53     NODEA2:  
    54       Id: 1 
    55       Dual: 1 
    56     NODEA3:  
    57       Id: 2 
    58       Dual: 1 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test2_cbc.txt

    r3761 r3802  
    3737  Status: optimal 
    3838  Objective:  
    39     f:  
     39    __default_objective__:  
    4040      Id: 0 
    4141      Value: 2 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test2_cplex.txt

    r2716 r3802  
    3838  Status: optimal 
    3939  Objective:  
    40     f:  
     40    obj:  
    4141      Id: 0 
    4242      Value: 2 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test2_glpk.txt

    r3761 r3802  
    3636  Status: optimal 
    3737  Objective:  
    38     f:  
     38    obj:  
    3939      Id: 0 
    4040      Value: 2 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test2_gurobi.txt

    r3466 r3802  
    3939  Message: Model was solved to optimality (subject to tolerances), and an optimal solution is available. 
    4040  Objective:  
    41     f:  
     41    obj:  
    4242      Id: 0 
    4343      Value: 2.0 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test2_pico.txt

    r3761 r3802  
    3838  Status: optimal 
    3939  Objective:  
    40     f:  
     40    __default_objective__:  
    4141      Id: 0 
    4242      Value: 2 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test4_cbc.txt

    r3761 r3802  
    3535  Status: optimal 
    3636  Objective:  
    37     f:  
     37    __default_objective__:  
    3838      Id: 0 
    3939      Value: 88.578000000000003 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test4_cplex.txt

    r2716 r3802  
    3434  Status: optimal 
    3535  Objective:  
    36     f:  
     36    obj:  
    3737      Id: 0 
    3838      Value: 88.578 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test4_glpk.txt

    r3761 r3802  
    3232  Status: optimal 
    3333  Objective:  
    34     f:  
     34    obj:  
    3535      Id: 0 
    3636      Value: 88.578 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test4_gurobi.txt

    r3377 r3802  
    3434  Status: optimal 
    3535  Objective:  
    36     f:  
     36    obj:  
    3737      Id: 0 
    3838      Value: 88.578 
  • coopr.plugins/trunk/coopr/plugins/tests/mip/test4_pico.txt

    r3761 r3802  
    3535  Status: optimal 
    3636  Objective:  
    37     f:  
     37    __default_objective__:  
    3838      Id: 0 
    3939      Value: 88.578 
     
    4242      Id: 4 
    4343      Value: 46.8666666667 
    44   Constraint:  
    45     c2:  
    46       Id: 2 
    47       Dual: 0.126 
Note: See TracChangeset for help on using the changeset viewer.