TZ - Natalyas/Praktika GitHub Wiki

Table of Contents

Техническое задание

Введение

Программа решает основную задачу линейного программирования симплекс методом. Одной из основных становится задача создания единой системы оптимального планирования и управления народным хозяйством на базе широкого применения математических методов и электронно-вычислительной техники в экономике. В настоящее время линейное программирование является одним из наиболее употребительных аппаратов математической теории оптимального принятия решений. Линейное программирование – это наука о методах исследования и отыскания наибольших и наименьших значений линейной функции, на неизвестные которой наложены линейные ограничения. Симплекс-метод позволяет переходить от одного допустимого базисного решения к другому, причем так, что значения целевой функции непрерывно возрастают. Алгоритмы симплекс-метода позволяют также установить, является ли задача ЛП разрешимой.

Основания для разработки

Программа разрабатывается в качестве зачетного задания для вычислительной практики.

Назначение разработки

Линейное программирование представляет собой наиболее часто используемый метод оптимизации. Симплекс метод является основным методом линейного программирования. Также он может использоваться как часть решения других алгоритмов линейного программирования, например алгоритма Гомори. К числу задач линейного программирования можно отнести задачи:

  • рационального использования сырья и материалов;
  • задачи оптимального раскроя;
  • оптимизации производственной программы предприятий;
  • оптимального размещения и концентрации производства;
  • составления оптимального плана перевозок, работы транспорта (транспортные задачи)
  • управления производственными запасами, и прочие.
Программа может решать задачи представленные только в канонической форме. Итогом ее работы является массив представляющий оптимальный план ( решение задачи).

Проектируемое улучшение системы

  • Симплекс метод является базой для алгоритма целочисленного линейного программирования Гомори.
  • Возможно дополнить возможности программы включением функции приведения системы линейных ограничений и целевой функции к каноническому виду.

Требования

Функциональные требования

На вход программе задаются:

  • Адрес в каталоге с файлом CSV содержащим целевую функцию.
  • Адрес в каталоге с файлом CSV содержащим многомерный массив линейных ограничений.
Программа для входных данных решает задачу симплекс методом. Предположительное время работы программы: до 10 секунд. На выходе программа выполняет следующее:
  • Создает файл по адресу указанному пользователем с массивом – решением задачи;
  • Выводит решение задачи на экран.

Требования по надежности

  • Существует вероятность переполнения стека.
  • Программа проверяет входные данные на соответствие стандарту структуры и типа данных и выдает сообщение в случае ошибки.
  • При невозможности создания выходного файла программа выдаст сообщение об ошибке.

Требования к эргономике и эстетике

Будут написаны комментарии для каждого функционального элемента интерфейса.

Условия и режимы эксплуатации

Требования к системе:

  • Мощность процессора более 300Гц;
  • Наличие, монитора, клавиатуры, мышь.
Требования к среде эксплуатации должны соответствовать требованиям эксплуатации технических средств.

Требования к унификации

Стандартные встроенные библиотеки среды разработки Borland Builder C++ 6.0 Требования к дополнительному обеспечению В программе используется метод Жордана-Гаусса.

Стадии разработки

  • ТЗ
  • GUI
  • Код
  • Тест
  • Документация
  • Презентация

Дополнительный источники

Функции программы

  • Функция которая получает опорное решение.
  • Функция считающая оценки.(ищем переменную исключаемую из базиса)Функция поиска опорной строки.
  • Метод Гаусса-Жордана.(Пересчитывает матрицу по разрешающему столбцу и разрешающей строке.)
⚠️ **GitHub.com Fallback** ⚠️