Add Result Logs
This commit is contained in:
parent
bfc2ee3113
commit
d9ff4235f7
12
README.md
12
README.md
@ -1,7 +1,13 @@
|
||||
Группа ПИбд-31
|
||||
Участики: Захарченко Марк, Семиколенов Георгий, Каргин Даниил
|
||||
## Группа ПИбд-31
|
||||
## Участики:
|
||||
|
||||
- Захарченко Марк
|
||||
- Семиколенов Георгий
|
||||
- Каргин Даниил
|
||||
- Красников Данил
|
||||
|
||||
## Исходное задание (Вариант 5):
|
||||
|
||||
Исходное задание(Вариант 5):
|
||||
Найти оптимальное решение симплекс методом
|
||||
Z = 18y1 + 16y2 + 5y3 + 21y4 --> min
|
||||
y1 + 2y2 + 3y4 >= 2
|
||||
|
15
src/main.py
15
src/main.py
@ -34,6 +34,7 @@ class Simplex:
|
||||
func: np.ndarray
|
||||
count: int
|
||||
lst_header: list = ["ind", "bas", "Cb", "b"]
|
||||
result = None
|
||||
|
||||
def __init__(self, canon_cfg, func):
|
||||
self.func = func
|
||||
@ -79,6 +80,7 @@ class Simplex:
|
||||
col = i
|
||||
break
|
||||
else:
|
||||
self.result = m
|
||||
return
|
||||
|
||||
mi = 999999
|
||||
@ -114,6 +116,18 @@ class Simplex:
|
||||
else:
|
||||
self.canon_conf[i][0][j] = self.canon_conf[i][0][j] - ((lst[row][j + 1] * lst[i][col + 1]) / k)
|
||||
|
||||
def get_answer(self):
|
||||
if self.result is None:
|
||||
return
|
||||
print("Result:")
|
||||
dct_ans = {i[2]: i[1] for i in self.canon_conf}
|
||||
z = 0
|
||||
for i in range(len(self.func)):
|
||||
print(f"x{i} = {dct_ans[i] if i in dct_ans else 0}", end=" ")
|
||||
z += self.func[i] * (dct_ans[i] if i in dct_ans else 0)
|
||||
print()
|
||||
print(f"Z = {z}")
|
||||
|
||||
def print_table(self, m: list | None = None):
|
||||
print("Table:")
|
||||
print("-" * 100)
|
||||
@ -144,5 +158,6 @@ if __name__ == "__main__":
|
||||
simp.find_basis()
|
||||
# simp.print_table()
|
||||
simp.method()
|
||||
simp.get_answer()
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user