diff --git a/README.md b/README.md index 0b9e42a..5993071 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ # Лабораторная работа 1 Дисциплина "Вычислительная математика" ## Авторы: -ПИбд-33 Борщевская +ПИбд-33 Борщевская, Прыткина ### Вариант 7 -Целевая функция: F = 4x+6y->min +Имеется два вида корма P1 и P2, содержащие питательные вещества (витамины) S1, S2, S3. Необходимо составить дневной рацион, имеющий минимальную стоимость, в котором содержание каждого вида питательных веществ было бы не менее установленного предела. +Целевая функция: F = 4x+6y->min Ограничения: 1) 3x+y>=9 2) x+2y>=8 diff --git a/src/main/java/ru/uni/symplex_method/SimplexException.java b/src/main/java/ru/uni/symplex_method/SimplexException.java new file mode 100644 index 0000000..4d4b74a --- /dev/null +++ b/src/main/java/ru/uni/symplex_method/SimplexException.java @@ -0,0 +1,7 @@ +package ru.uni.symplex_method; + +public class SimplexException extends Exception { + public SimplexException(String error) { + super(error); + } +} diff --git a/src/main/java/ru/uni/symplex_method/SimplexMatrix.java b/src/main/java/ru/uni/symplex_method/SimplexMatrix.java index ae8e004..71a1ae3 100644 --- a/src/main/java/ru/uni/symplex_method/SimplexMatrix.java +++ b/src/main/java/ru/uni/symplex_method/SimplexMatrix.java @@ -38,9 +38,9 @@ public class SimplexMatrix { return currentRowCount; } - public void addRow(double[] coefficients) throws SymplexException { + public void addRow(double[] coefficients) throws SimplexException { if (isFill()) { - throw new SymplexException("Матрица уже заполнена!!!"); + throw new SimplexException("Матрица уже заполнена!!!"); } matrix[currentRowCount] = coefficients; currentRowCount++; @@ -63,13 +63,13 @@ public class SimplexMatrix { System.out.print("Базис\t"); System.out.print("b\t\t"); - for (int i = 1; i <= numCols-1; i++) { - System.out.print("x" + i +"\t\t\t"); + for (int i = 1; i <= numCols - 1; i++) { + System.out.print("x" + i + "\t\t\t"); } System.out.println(); for (int i = 0; i < matrix.length; i++) { - if(i != matrix.length-1) { + if (i != matrix.length - 1) { System.out.printf("%4s\t", basis.get(i)); } else { System.out.printf("%4s\t", "D"); diff --git a/src/main/java/ru/uni/symplex_method/SimplexService.java b/src/main/java/ru/uni/symplex_method/SimplexService.java index 510164a..2ed1a70 100644 --- a/src/main/java/ru/uni/symplex_method/SimplexService.java +++ b/src/main/java/ru/uni/symplex_method/SimplexService.java @@ -70,7 +70,7 @@ public class SimplexService { printMatrix(); try { doIter(); - } catch (SymplexException exception) { + } catch (SimplexException exception) { System.out.println("Произошла ошибка при выполнении: " + exception.getMessage()); break; } @@ -91,17 +91,17 @@ public class SimplexService { return Arrays.stream(matrix).allMatch(x -> x[0] >= 0); } - private void doIter() throws SymplexException { + private void doIter() throws SimplexException { var matrix = simplexMatrix.getMatrix(); // поиск разрешающей строки и столбца int indexRow = findRowIndex(matrix); if (indexRow == -1) { - throw new SymplexException("Разрешающая строка не найдена"); + throw new SimplexException("Разрешающая строка не найдена"); } var row = matrix[indexRow]; int indexColumn = findColIndex(row); if (indexColumn == -1) { - throw new SymplexException("Разрешающий столбец не найден"); + throw new SimplexException("Разрешающий столбец не найден"); } double element = row[indexColumn]; @@ -125,7 +125,7 @@ public class SimplexService { private int findRowIndex(double[][] matrix) { int index = -1; double maxAbs = -1; - for (int i = 0; i < matrix.length-1; i++) { + for (int i = 0; i < matrix.length - 1; i++) { if (matrix[i][0] < 0) { var value = Math.abs(matrix[i][0]); if (value > maxAbs) { diff --git a/src/main/java/ru/uni/symplex_method/SymplexException.java b/src/main/java/ru/uni/symplex_method/SymplexException.java deleted file mode 100644 index 30e9579..0000000 --- a/src/main/java/ru/uni/symplex_method/SymplexException.java +++ /dev/null @@ -1,7 +0,0 @@ -package ru.uni.symplex_method; - -public class SymplexException extends Exception { - public SymplexException(String error) { - super(error); - } -}