Skip to content

Commit d4c0b07

Browse files
authored
Fixed bugs with uncalculated points (#202)
1 parent 8540f9d commit d4c0b07

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

iOpt/method/index_method.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,11 @@ def update_optimum(self, point: SearchDataItem) -> None:
121121
122122
:param point: the point of a new trial.
123123
"""
124-
125-
if self.best is None or self.best.get_index() < point.get_index() or (
126-
self.best.get_index() == point.get_index() and point.get_z() < self.best.get_z()):
127-
self.best = point
128-
self.recalcR = True
129-
self.Z[point.get_index()] = point.get_z()
130-
# self.UpdateZ(point)
131-
self.search_data.solution.best_trials[0] = self.best
124+
if point.get_index() >= 0:
125+
if self.best is None or self.best.get_index() < point.get_index() or (
126+
self.best.get_index() == point.get_index() and point.get_z() < self.best.get_z()):
127+
self.best = point
128+
self.recalcR = True
129+
self.Z[point.get_index()] = point.get_z()
130+
# self.UpdateZ(point)
131+
self.search_data.solution.best_trials[0] = self.best

iOpt/method/mixed_integer_method.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ def first_iteration(self) -> list[SearchDataItem]:
101101
else:
102102
for i in range(number_of_points_in_one_interval):
103103
x = id_comb + h * (i + 1)
104-
if not is_init_image_x:
104+
if not is_init_image_x or len(image_x) >= i:
105105
image_x.append(self.evolvent.get_image(x))
106106

107107
y = Point(copy.copy(image_x[i]), self.discreteParameters[id_comb])

iOpt/solution.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class Solution:
99
"""
1010
def __init__(self,
1111
problem: Problem,
12-
best_trials: np.ndarray(shape=(1), dtype=Trial) = [Trial([], [])],
12+
best_trials: np.ndarray(shape=(1), dtype=Trial) = np.array([Trial([], [])]),
1313
number_of_global_trials: int = 1,
1414
number_of_local_trials: int = 0,
1515
solving_time: np.double = 0.0,

0 commit comments

Comments
 (0)