u = ["u1"] u_bounds = {"u1": (162.183495794 * 0.5, 162.183495794 * 1.6)} ref_state = {("c_capture", ((), )): 0.52} c = NmpcGen(d_mod=bfb_dae, u=u, states=states, ref_state=ref_state, u_bounds=u_bounds) c.ss.dref = snap c.load_iguess_ss() c.solve_ss() c.load_d_s(c.d1) c.solve_d(c.d1) c.update_state_real() # update the current state c.find_target_ss() c.create_nmpc() c.update_targets_nmpc() c.compute_QR_nmpc(n=-1) c.new_weights_olnmpc(1000, 1e+06) # q_cov = {} # for i in range(1, nfet): # for j in range(1, ntrays + 1): # q_cov[("x", (j,)), ("x", (j,)), i] = 1e-05 # q_cov[("M", (j,)), ("M", (j,)), i] = 0.5 # # m_cov = {} # for i in range(1, nfet + 1):
# c.solve_k_aug_nmpc() # c.olnmpc.write_nl() i = 1 k = 1 while k != 0: if i == 1: k = c.solve_d(c.olnmpc, max_cpu_time=60 * i) else: k = c.solve_d(c.olnmpc, max_cpu_time=60 * i, warm_start=True) c.olnmpc.ipopt_zL_in.update(c.olnmpc.ipopt_zL_out) c.olnmpc.ipopt_zU_in.update(c.olnmpc.ipopt_zU_out) i += 1 c.initialize_olnmpc(c.d1) c.olnmpc.display(filename="somefile1.txt") c.solve_d(c.olnmpc, max_cpu_time=60 * 60) c.update_u(src=c.olnmpc) c.cycle_ics() c.plant_input_gen(c.d1, src_kind="dict") c.solve_d(c.d1) c.update_state_real() c.initialize_olnmpc(c.olnmpc, fe=5) c.solve_d(c.olnmpc, max_cpu_time=60 * 60) c.create_predictor() c.predictor_step(c.d1) c.update_state_predicted() c.update_u(src=c.olnmpc) c.update_soi_sp_nmpc() # c.print_r_nmpc()