def test_mdf_arch(self): prob = SellarProblem() prob.architecture = MDF() prob.run() prob.configure() solver_params = prob.solver.get_parameters() coupling = prob.get_coupling_vars() params = prob.get_parameters() opt_params = prob.driver.get_parameters() self.assertEqual(set(solver_params.keys()),set(coupling.keys())) self.assertEqual(params,opt_params)
for j, const in enumerate(constraints): dg_j = ["ssa.dG[%d][%d]*%s" % (j, i, x) for i, x in enumerate(delta_z)] constraint_parts = ["ssa.G[%d]" % j] constraint_parts.extend(dg_j) lin_constraint = "%s < 0" % "+".join(constraint_parts) sysopt.add_constraint(lin_constraint) #self.parent.driver.workflow.add("mda") self.parent.driver.workflow.add(sa_s) if global_dvs: self.parent.driver.workflow.add("ssa") self.parent.driver.workflow.add(bbopts) if global_dvs: self.parent.driver.workflow.add("sysopt") if __name__ == "__main__": from openmdao.lib.optproblems.api import SellarProblem #from openmdao.main.api import ArchitectureAssembly sp = SellarProblem() sp.architecture = BLISS() sp.run() for k, v in sp.check_solution().iteritems(): print " ", k, ": ", v
for j, const in enumerate(constraints): dg_j = [ "ssa.dG[%d][%d]*%s" % (j, i, x) for i, x in enumerate(delta_z) ] constraint_parts = ["ssa.G[%d]" % j] constraint_parts.extend(dg_j) lin_constraint = "%s < 0" % "+".join(constraint_parts) sysopt.add_constraint(lin_constraint) #self.parent.driver.workflow.add("mda") self.parent.driver.workflow.add(sa_s) if global_dvs: self.parent.driver.workflow.add("ssa") self.parent.driver.workflow.add(bbopts) if global_dvs: self.parent.driver.workflow.add("sysopt") if __name__ == "__main__": from openmdao.lib.optproblems.api import SellarProblem #from openmdao.main.api import ArchitectureAssembly sp = SellarProblem() sp.architecture = BLISS() sp.run() for k, v in sp.check_solution().iteritems(): print " ", k, ": ", v
for const in constraints_by_comp[comp]: local_opt.add_constraint(str(const)) residuals = "+".join(residuals) global_constraint = "%s<=0" % residuals global_opt.add_constraint(global_constraint) local_opt.add_objective(residuals) if __name__ == "__main__": from openmdao.lib.optproblems.api import SellarProblem #from openmdao.main.api import ArchitectureAssembly prob = SellarProblem() prob.architecture = CO() prob.run() print "\n" print "Minimum found at (%f, %f, %f)" % (prob.dis1.z1, \ prob.dis1.z2, \ prob.dis1.x1) print "Minimum target was at (%f, %f, %f)" % (prob.global_des_var_targets[0], \ prob.global_des_var_targets[1], \ prob.local_des_var_targets[0]) print "Coupling vars: %f, %f" % (prob.dis1.y1, prob.dis2.y2) print "Coupling var targets: %f, %f" % (prob.coupling_var_targets[0], prob.coupling_var_targets[1]) print "Minimum objective: ", prob.driver.eval_objective()
residuals = "+".join(residuals) global_constraint = "%s<=0"%residuals global_opt.add_constraint(global_constraint) local_opt.add_objective(residuals) if __name__ == "__main__": from openmdao.lib.optproblems.api import SellarProblem #from openmdao.main.api import ArchitectureAssembly prob = SellarProblem() prob.architecture = CO() prob.run() print "\n" print "Minimum found at (%f, %f, %f)" % (prob.dis1.z1, \ prob.dis1.z2, \ prob.dis1.x1) print "Minimum target was at (%f, %f, %f)" % (prob.global_des_var_targets[0], \ prob.global_des_var_targets[1], \ prob.local_des_var_targets[0]) print "Coupling vars: %f, %f" % (prob.dis1.y1, prob.dis2.y2) print "Coupling var targets: %f, %f" % (prob.coupling_var_targets[0], prob.coupling_var_targets[1]) print "Minimum objective: ", prob.driver.eval_objective()
driver.add_constraint('%s = %s' % (system_var_map[l[1].target], s2)) for i, g in enumerate(global_dvs): s2 = 'global%d_store' % i self.parent.add(s2, Float(0.0, iotype="in")) driver.add_parameter(s2, low=g[1].low, high=g[1].high) driver.add_constraint('%s = %s' % (system_var_map[g[1].target], s2)) #driver.workflow.add(['DOE_Trainer_dis2','DOE_Trainer_dis1']) if __name__ == "__main__": from openmdao.lib.optproblems.api import UnitScalableProblem from openmdao.lib.optproblems.api import SellarProblem p = SellarProblem() p.architecture = BLISS2000() p.check_config() #print [param for param in p.DOE_Trainer_dis2.get_parameters()] #exit() p.run() for k, v in p.check_solution().iteritems(): print " ", k, ": ", v
driver.add_parameter(s2 , low=l[1].low, high=l[1].high) driver.add_constraint('%s = %s'%(system_var_map[l[1].target],s2)) for i,g in enumerate(global_dvs): s2='global%d_store'%i self.parent.add(s2,Float(0.0,iotype="in")) driver.add_parameter(s2 , low=g[1].low, high=g[1].high) driver.add_constraint('%s = %s'%(system_var_map[g[1].target],s2)) #driver.workflow.add(['DOE_Trainer_dis2','DOE_Trainer_dis1']) if __name__=="__main__": from openmdao.lib.optproblems.api import UnitScalableProblem from openmdao.lib.optproblems.api import SellarProblem p = SellarProblem() p.architecture = BLISS2000() p.check_config() #print [param for param in p.DOE_Trainer_dis2.get_parameters()] #exit() p.run() for k,v in p.check_solution().iteritems(): print " ",k,": ",v