Для задания типов и файловых переменных вводного и выводного текстовых файлов используется модуль типов unit typesm, структура которого приведена ниже
unit typesm;
interface
const
mmax=20; nmax=20; e=1e-5;
type
klt =array[1..3] of integer;
at =array[1..mmax+1,1..nmax+1] of real;
vec1it =array[1..nmax] of integer;
vec2it =array[1..mmax] of integer;
vec1rt =array[1..nmax] of real;
vec2rt =array[1..mmax] of real;
var
fi, fo:text;
implementation
end.
В разделе констант заданы константы nmax и mmax, задающие максимальное число строк расширенной матрицы a без единицы, а также пороговая константа е, используемая в модуле поиска разрешающей строки. Константа е используется для обеспечения устойчивости алгоритма (модуль разрешающего элемента не должен быть слишком мал, а именно, больше е).
Ниже приведена таблица фактических и формальных параметров подпрограмм задач линейного программирования. Обозначения формальных и фактических параметров совпадают.
| N/N
| Назначение
| Обозначение
| Тип
|
| 1.
| Управляющий вектор
| k1
| ki1t
|
| 2.
| Число ограничений
| m
| integer
|
| 3.
| Число переменных
| n
| integer
|
| 4.
| Матрица коэффициентов
| a
| at
|
| 5.
| Вектор номеров свободных переменных
| i1
| vec1it
|
| 6.
| Отслеживающий вектор основных переменных прямой задачи
| p1
| vec1it
|
| 7.
| Отслеживающий вектор вспомогательных переменных двойственной задачи
| q1
| vec1it
|
| 8.
| Отслеживающий вектор вспомогательных переменных прямой задачи
| p2
| vec2it
|
| 9.
| Отслеживающий вектор основных переменных двойственной задачи
| q2
| vec2it
|
| 10.
| Разрешающая строка
| r
| integer
|
| 11.
| Разрешающий столбец
| s
| integer
|
| 12.
| Вектор-решение прямой задачи
| x
| vec1rt
|
| 13.
| Вектор-решение двойственной задачи
| u
| vec2rt
|