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
|
Z = 18y1 + 16y2 + 5y3 + 21y4 --> min
|
||||||
y1 + 2y2 + 3y4 >= 2
|
y1 + 2y2 + 3y4 >= 2
|
||||||
|
15
src/main.py
15
src/main.py
@ -34,6 +34,7 @@ class Simplex:
|
|||||||
func: np.ndarray
|
func: np.ndarray
|
||||||
count: int
|
count: int
|
||||||
lst_header: list = ["ind", "bas", "Cb", "b"]
|
lst_header: list = ["ind", "bas", "Cb", "b"]
|
||||||
|
result = None
|
||||||
|
|
||||||
def __init__(self, canon_cfg, func):
|
def __init__(self, canon_cfg, func):
|
||||||
self.func = func
|
self.func = func
|
||||||
@ -79,6 +80,7 @@ class Simplex:
|
|||||||
col = i
|
col = i
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
|
self.result = m
|
||||||
return
|
return
|
||||||
|
|
||||||
mi = 999999
|
mi = 999999
|
||||||
@ -114,6 +116,18 @@ class Simplex:
|
|||||||
else:
|
else:
|
||||||
self.canon_conf[i][0][j] = self.canon_conf[i][0][j] - ((lst[row][j + 1] * lst[i][col + 1]) / k)
|
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):
|
def print_table(self, m: list | None = None):
|
||||||
print("Table:")
|
print("Table:")
|
||||||
print("-" * 100)
|
print("-" * 100)
|
||||||
@ -144,5 +158,6 @@ if __name__ == "__main__":
|
|||||||
simp.find_basis()
|
simp.find_basis()
|
||||||
# simp.print_table()
|
# simp.print_table()
|
||||||
simp.method()
|
simp.method()
|
||||||
|
simp.get_answer()
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user