Эта задача, была решена ранее с помощью табличного процессора Excel 2000 [10]. Сравнение двух способов решения демонстрирует преимущества системы MathCAD.
Для решения иной транспортной задачи достаточно изменить числовые значения в данных документах MathCAD и выполнить команду Math (Математика, Просчитать документ). Имеющихся текстовых пояснений достаточно, чтобы имея только один этот документ, можно было бы легко решить и другие подобные задачи.
При решении оптимизационных задач с большим числом переменных целесообразно использовать матрицы. В них с помощью палитры матричных операций, показанной на рис. 2, размещаются тарифы перевозок, начальные приближения для объемов перевозок, запасы поставщиков и потребности потребителей. Целевая функция записывается с помощью соответствующие палитры шаблона суммирования (рис. 2). В качестве примера рассмотри задачи, решенные ранее в статье [10] с помощью табличного процессора Excel. Для них приведены тексты документов MathCAD, сохраненные в формате rtf и вставленные в документ Word. Сравнение двух способов решения демонстрирует преимущества системы MathCAD.
Решение закрытой транспортной задачи с тремя поставщиками и четырьмя потребителями имеет следующий вид.
Документ MathCAD
Пояснения
Закрытая транспортная задача
Тарифы - стоимость перевозки продукта от поставщиков 1, 2, 3 потребителям 1, 2, 3,4
При наборе выражения использован символ глобального присваивания º из палитры Вычисления на рис.2, позволяющий определять переменные в любом месте документа. Матрица с 3 строками (поставщики) и 4 столбцами (потребители) вводится с помощью палитры Матрицы или с помощью команды Вставка, Матрица… . Так можно и добавлять строки и столбцы в уже имеющиеся матрицы и стобцы.
Запасы продукта у поставщиков 1,2 и 3
Потребности потребителей 1,2,3,4
Использованы символ глобального присваивания º и вставка матриц с одним столбцом и тремя строками для поставщиков и четырьмя для потребителей.
Общие затраты на перевозку (целевая функция)
При вводе целевой функции использован шаблон суммы из панели Матанализ(рис.2). Индексы вводятся после нажатия клавиши [.
Начальное приближение
Использованы символ локального присваивания := и вставка матрицы с 3 строками (поставщики) и 4 столбцами (потребители)
Вспомогательная матрица
Введена вспомогательная матрица с единичными элементами, число столбцов которой равно числу поставщиков, а число строк – числу потребителей. Вывод ее значений, осуществляемый с помощью знака равенства =, не обязателен для решения задачи. Символ перечисления .. вводится нажатием клавиши ; или с помощью знака перечисления значений дискретной величины m..n палитры Матрицы
Ограничения:
равенство вывозимого продукта запасам у поставщиков
Вычислительный блок начинается с ключевого слова Given (в переводе с англ. произведено). Первое ограничение записывается в виде булевского равенства = первого столбца (с номером 0) произведения матриц х и е столбцу а. Выделение столбца осуществляется с помощью знака М<> палитры Матрицы
Здесь дополнительно использована операция транспонирования (замена местами строк и столбцов) произведения матриц х и е с помощью знака МТ палитры Матрицы
Условия неотрицательности объема поставок
Знак больше или равно находится на палитре Матрицы
Минимизация:
Ответ:
Минимальные затраты на перевозку
Функция Minimize находит значения объемов перевозок, соответствующих минимуму целевой функции.
Для перехода к решению открытых транспортных задач с объемом запасов у поставщиков, не равным потребности потребителей, в документе делаются изменения, например:
Закрытая задача
Открытые задачи
Запасы равны потребностям
Запасы больше потребностей
Потребности больше запасов
Запасы продукта у поставщиков 1,2 и 3
в сумме равны потребностям потребителей 1,2,3,4
Запасы продукта у поставщиков
в сумме превышают потребности потребителей
Запасы продукта у поставщиков
в сумме меньше потребности потребителей
Ограничения:
равенство вывозимого продукта запасам у поставщиков
Ограничения:
количество вывозимого продукта меньше запасов у поставщиков
Ограничения:
равенство вывозимого продукта запасам у поставщиков