Транспортная задача - метод потенциалов
Тербуется написать программу на языке Pascal (в кр. случае на C/C++) для решения транспортной задачи методом потенциалов
------------------------------------------------------------------------------------------------
Общие требования:
- программа должна работать только с целыми числами (думаю, это проще)
- опорный план должен строиться только методом северо-западного угла (только и всего)
- решение задачи только методом потенциалов
- программа может "не уметь" решать открытые задачи
но:
- программа должна уметь добавлять нулевые поставки в случае необходимости (когда количество поставок меньше размерности транспортной задачи)
- код должен содержать подробные комментарии
- дополнительное требование - написать для программы блок-схему алгоритма
Структура интерфейса:
1. ввод количества поставщиков и потребителей с клавиатуры
2. вывод размерности транспортной задачи
3. ввод запасов груза и потребностей; если задача открытая - сообщить пользователю, что программа не может решать такие задачи
4. демонстрирование равенства сумм поставок и потребностей, например: "Сумма поставок = Сумме потребностей = 650"
5. ввод матрицы тарифов
---
6. выводить номер итерации
7. на каждой итерации выводить значения Z(X), F(U, V), то есть, значения целевой функции прямой и двойственной задачи.
8. при нахождении оптимального плана вывести значение Z(X), показать, что оно совпадает с F(U, V) (Z(X) = F(U,V) = 13000),
а также, в обязательном порядке вывести оптимальный план
Требования к интерфейсу:
- при запуске программа должна вывести титульник (нужно сделать для меня неболшой API :) - просто показать комментариями место, где я могу ввести название работы, свои фамилию, имя и группу)
- единицы измерения не нужны
- цвет фона - черный
- вводимые данные выводить желтым, а выводимые - ярко-зеленым (желательно)
в остальном - полная свобода выбора