Симплекс метод

Автор работы: Пользователь скрыл имя, 17 Января 2013 в 22:50, реферат

Краткое описание

Работа посвящена наиболее распространенному методу решения задачи линейного программирования – симплекс-методу. Симплекс-метод является классическим и наиболее проработанным методом в линейном программировании.

Содержание

Введение
1. Описание задачи
2. Описание метода решения
3. Проектирование интерфейса
4. Структура программного модуля
5. Тестирование
Заключение
Список использованной литературы и программных средств
Приложение 1. Интерфейс приложения
Приложение 2. Листинг класса SimplexSolve

Прикрепленные файлы: 1 файл

simplmetod.doc

— 672.00 Кб (Скачать документ)

 //делим ведущую строку на ведущий элемент [minRInd][minCInd]

 float temp = matrix[minRInd][minCInd];

 

 for (int i = 0; i <= ReadFile.colCount; i++){

 matrix[i][minCInd] /= temp;

 }

 

 //получаем нули в ведущем столбце

 for (int j = 0; j < minCInd; j++){

 float minTemp = matrix[minRInd][j];

 for (int i = 0; i <= ReadFile.colCount; i++){

 matrix[i][j] += matrix[i][minCInd] * -minTemp;

 }

 }

 

 for (int j = minCInd+1; j <=ReadFile.rowCount; j++){

 float minTemp = matrix[minRInd][j];

 for (int i = 0; i <= ReadFile.colCount; i++){

 matrix[i][j] += matrix[i][minCInd] * -minTemp;

 }

 }

 

 for (int i = 0; i < ReadFile.bvarCount; i++){

 for (int j = 0 ; j < ReadFile.varCount; j++){

 int k = j + 1;

 String tempS = "x" + k;

 if (tempS.equals(ReadFile.varCol[i]))

 solution[j] = matrix[ReadFile.colCount][i+1];

 }

 }

 

 tempCInd = minCInd;

}

 

//проверяет, оптимально  ли текущее решение

static boolean checkSolved(float matrix[][]){

 

 solved = true;

 for (int i = 0; i <= ReadFile.colCount; i++){

 if (matrix[i][0] < 0)

 solved = false;

 }

 if (solved){

 JOptionPane.showMessageDialog(null, " задача решена ");

 tempCInd = 0;

 }

 

 return solved;

 }

}

 


Информация о работе Симплекс метод