Skip to content

Commit

Permalink
Merge pull request #48 from industrial-optimization-group/light-weave…
Browse files Browse the repository at this point in the history
…r/issue47

Fixed NAUTILUS I errors
  • Loading branch information
light-weaver committed Jan 18, 2024
2 parents 442021c + b248d0b commit 5ef8e39
Showing 1 changed file with 20 additions and 19 deletions.
39 changes: 20 additions & 19 deletions desdeo_mcdm/interactive/Nautilus.py
Original file line number Diff line number Diff line change
Expand Up @@ -490,8 +490,8 @@ def handle_initial_request(self, request: NautilusInitialRequest) -> NautilusReq
self._q = self._zs[self._step_number - 1]
x0 = self._problem.get_variable_upper_bounds() / 2

self._lower_bounds[self._step_number] = self._ideal
self._upper_bounds[self._step_number] = self._nadir
self._lower_bounds[self._step_number - 1] = self._ideal
self._upper_bounds[self._step_number - 1] = self._nadir

# solve the ASF-problem
result = self.solve_asf(
Expand Down Expand Up @@ -524,8 +524,8 @@ def handle_initial_request(self, request: NautilusInitialRequest) -> NautilusReq
None,
)

self._lower_bounds[self._step_number + 1] = new_lower_bounds
self._upper_bounds[self._step_number + 1] = self._zs[self._step_number]
self._lower_bounds[self._step_number] = new_lower_bounds
self._upper_bounds[self._step_number] = self._zs[self._step_number]

# calculate distance from current iteration point to Pareto optimal set
self._ds[self._step_number] = self.calculate_distance(
Expand All @@ -536,8 +536,8 @@ def handle_initial_request(self, request: NautilusInitialRequest) -> NautilusReq
return NautilusRequest(
self._zs[self._step_number],
self._nadir,
self._lower_bounds[self._step_number + 1],
self._upper_bounds[self._step_number + 1],
self._lower_bounds[self._step_number],
self._upper_bounds[self._step_number],
self._ds[self._step_number],
)

Expand Down Expand Up @@ -573,7 +573,8 @@ def handle_request(self, request: NautilusRequest) -> Union[NautilusRequest, Nau
np.concatenate((self._upper_bounds, extra_space), axis=None), dtype=object
)

self._n_iterations_left = resp["n_iterations"]
self._n_iterations_left = self._n_iterations_left + resp["n_iterations"] - self._n_iterations
self._n_iterations = resp["n_iterations"]

# last iteration, stop solution process
if self._n_iterations_left <= 1:
Expand Down Expand Up @@ -637,8 +638,8 @@ def handle_request(self, request: NautilusRequest) -> Union[NautilusRequest, Nau
None,
)

self._lower_bounds[self._step_number + 1] = new_lower_bounds
self._upper_bounds[self._step_number + 1] = self._zs[self._step_number]
self._lower_bounds[self._step_number] = new_lower_bounds
self._upper_bounds[self._step_number] = self._zs[self._step_number]

# calculate distance from current iteration point to Pareto optimal set
self._ds[self._step_number] = self.calculate_distance(
Expand All @@ -649,8 +650,8 @@ def handle_request(self, request: NautilusRequest) -> Union[NautilusRequest, Nau
return NautilusRequest(
self._zs[self._step_number],
self._nadir,
self._lower_bounds[self._step_number + 1],
self._upper_bounds[self._step_number + 1],
self._lower_bounds[self._step_number],
self._upper_bounds[self._step_number],
self._ds[self._step_number],
)

Expand All @@ -674,8 +675,8 @@ def handle_request(self, request: NautilusRequest) -> Union[NautilusRequest, Nau
None,
)

self._lower_bounds[self._step_number + 1] = new_lower_bounds
self._upper_bounds[self._step_number + 1] = self._zs[self._step_number]
self._lower_bounds[self._step_number] = new_lower_bounds
self._upper_bounds[self._step_number] = self._zs[self._step_number]

# calculate distance from current iteration point to Pareto optimal set
self._ds[self._step_number] = self.calculate_distance(
Expand All @@ -686,8 +687,8 @@ def handle_request(self, request: NautilusRequest) -> Union[NautilusRequest, Nau
return NautilusRequest(
self._zs[self._step_number],
self._nadir,
self._lower_bounds[self._step_number + 1],
self._upper_bounds[self._step_number + 1],
self._lower_bounds[self._step_number],
self._upper_bounds[self._step_number],
self._ds[self._step_number],
)

Expand Down Expand Up @@ -735,8 +736,8 @@ def handle_request(self, request: NautilusRequest) -> Union[NautilusRequest, Nau
None,
)

self._lower_bounds[self._step_number + 1] = new_lower_bounds
self._upper_bounds[self._step_number + 1] = self._zs[self._step_number]
self._lower_bounds[self._step_number] = new_lower_bounds
self._upper_bounds[self._step_number] = self._zs[self._step_number]

# calculate distance from current iteration point to Pareto optimal set
self._ds[self._step_number] = self.calculate_distance(
Expand All @@ -747,8 +748,8 @@ def handle_request(self, request: NautilusRequest) -> Union[NautilusRequest, Nau
return NautilusRequest(
self._zs[self._step_number],
self._nadir,
self._lower_bounds[self._step_number + 1],
self._upper_bounds[self._step_number + 1],
self._lower_bounds[self._step_number],
self._upper_bounds[self._step_number],
self._ds[self._step_number],
)

Expand Down

0 comments on commit 5ef8e39

Please sign in to comment.