From d96c0b63e5aeb2d8c6706f4616425bee74b281a0 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 9 Jan 2024 12:13:21 +0100 Subject: Add missing case for identity in DPLoop --- src/act4e_mcdp_solution/solver_dp.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/act4e_mcdp_solution/solver_dp.py b/src/act4e_mcdp_solution/solver_dp.py index 2798d47..6d15963 100644 --- a/src/act4e_mcdp_solution/solver_dp.py +++ b/src/act4e_mcdp_solution/solver_dp.py @@ -755,6 +755,9 @@ class DPSolver(DPSolverInterface): chain: List[R1] = list(map(first, chain)) return chain + if isinstance(dp.dp, IdentityDP): + return self.solve_dp_FixFunMinRes_IdentityDP(dp.dp, query) + # Get chain that is a fixed point of phi and return upper set chain: List[R1] = kleene_ascent(phi) min_r_loop: UpperSet[R1] = UpperSet.from_points(dp.R, chain) @@ -809,6 +812,9 @@ class DPSolver(DPSolverInterface): chain: List[F1] = list(map(first, chain)) return chain + if isinstance(dp.dp, IdentityDP): + return self.solve_dp_FixResMaxFun_IdentityDP(dp.dp, query) + chain: List[F1] = kleene_ascent(phi) max_f_loop: LowerSet[F1] = LowerSet.from_points(dp.F, chain) -- cgit v1.2.1