From 1359c0cd43a87e23d7571c2fdf22d12e51176e2b Mon Sep 17 00:00:00 2001 From: "Hsieh, Chiao" <chsieh16@illinois.edu> Date: Sun, 30 Jan 2022 15:52:28 -0600 Subject: [PATCH] Add code to validate candidate DNF with teacher --- dtree_teacher_gem_stanley.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/dtree_teacher_gem_stanley.py b/dtree_teacher_gem_stanley.py index 8baf5f8..0cd904d 100644 --- a/dtree_teacher_gem_stanley.py +++ b/dtree_teacher_gem_stanley.py @@ -1,3 +1,6 @@ +import pickle + +import gurobipy as gp import numpy as np from gem_stanley_teacher import GEMStanleyTeacher @@ -28,6 +31,9 @@ class DTreeTeacherGEMStanley(GEMStanleyTeacher): cons = m.addMConstr(coeff_mat, z_diff, '<', cut_vec) self._prev_candidate_constr.append(cons) + # L2-norm objective + m.setObjective(z_diff @ z_diff, gp.GRB.MINIMIZE) + def test_dtree_gem_stanley_teacher(): a_mat = np.array([[0., -1., 0.], @@ -47,5 +53,18 @@ def test_dtree_gem_stanley_teacher(): teacher.dump_model() +def test_verified_candidate(): + with open("winnerDnf.pickle", "rb") as dnf_pkl: + winner_dnf = pickle.load(dnf_pkl) + + print(winner_dnf) + teacher = DTreeTeacherGEMStanley() + teacher.set_old_state_bound(lb=[0.0, -1.0, 0.2], ub=[30.0, -0.9, 0.22]) + for cand in winner_dnf: + print(teacher.check(cand)) + print(teacher.reason_unknown()) + + if __name__ == "__main__": - test_dtree_gem_stanley_teacher() + # test_dtree_gem_stanley_teacher() + test_verified_candidate() -- GitLab