книги / Моделирование и оптимизация в LINGO
..pdfФункция |
Описание (результат) |
@PEL(A, X) |
Вероятность отказа в системе без очереди с X сер- |
|
висами и нагрузкой A (см. @PEB) |
|
|
@PFS(A, X, C) |
Ожидаемое число клиентов, ждущих или обслу- |
|
живаемых СМО с X сервисами, C клиентами и |
|
предельной нагрузке A при конечном источнике |
|
Пуассона. A – число клиентов, умноженное на |
|
среднее время обслуживания, деленное на среднее |
|
время обслуживания одним сервисом |
|
|
@PPL(A, X) |
Линейная функция отказов для распределения |
|
Пуассона. Она возвращает ожидаемое значение |
|
MAX (0, Z-X), где Z является случайной величи- |
|
ной Пуассона со средним значением А |
|
|
@PSL(X) |
Возвращает ожидаемое значение MAX (0, Z-X), |
|
где Z является стандартной нормальной случайной |
|
величиной. При моделировании запасов @PSL(X) – |
|
ожидаемое количество, на которое спрос превысит |
|
уровень X, если спрос имеет стандартное нор- |
|
мальное распределение |
|
|
@RAND(SEED) |
Возвращает псевдослучайное число из диапазона |
|
0–1, зависящее от начальной установки датчика, |
|
определяемой SEED, где SEED – целое много- |
|
значное число |
|
|
@QRAND(SEED) |
Генерирует последовательность квазислучайных |
|
равномерно распределенных в интервале 0–1 слу- |
|
чайных величин. Обычно это таблица, строки ко- |
|
торой соответствуют сценариям или эксперимен- |
|
там, а столбцы – случайным переменным |
|
|
|
Финансовые функции |
@FPA(I, N) |
Текущий платеж за период по процентной ставке I |
|
для N периодов (аннуитетный платеж) |
|
|
@FPL(I, N) |
Текущая стоимость единовременной суммы |
131
ПРИЛОЖЕНИЕ 3
|
Команды в режиме командной строки |
|
|
Команда |
Описание |
|
Information |
CAT |
Список категорий команд |
COM |
Список команд категории |
HELP |
Предоставляет краткую помощь по команде |
MEM |
Выдает статистику по памяти, используемой генератором мо- |
|
дели |
|
Input |
FRMPS |
Извлекает модель в свободном MPS формате |
MODEL |
Начало ввода новой модели |
RLPF |
Извлекает модель в LP формате |
RMPI |
Извлекает модель в MPI формате |
RMPS |
Извлекает модель в фиксированном MPS формате |
TAKE |
Запускает скрипт из внешнего файла |
|
Display |
DUAL |
Генерирует и показывает двойственную модель |
GEN |
Генерирует модель в алгебраическом виде (прямая модель) |
HIDE |
Определяет пароль текущей модели |
LISTFIX |
Показывает отчет по переменным, которые генератор модели |
|
определил как фиксированные |
LOOK |
Показывает текущую модель |
PICTURE |
Показывает структуру ненулевых значений модели |
SCENE |
Генерирует алгебраическое представление сценария для боль- |
|
шой стохастической задачи |
SHOWNL |
Генерирует всю модель, но показывает только строки, содер- |
|
жащие нелинейности |
STATS |
Выдает суммарную статистику по свойствам сгенерированной |
|
модели |
XDETEQ |
Генерирует алгебраическое представление детерминированного |
|
эквивалента стохастической задачи |
132
Команда |
Описание |
|
File Output |
DIVERT |
Открывает файл для записи вывода |
RVRT |
Закрывает файл ранее открытой командой DIVERT |
SAVE |
Сохраняет текущую модель на диске |
SMPI |
Экспортирует модель в MPI формате |
SMPS |
Посылает копию текущей модели в файл в формате MPS |
|
Solution |
DEBUG |
Выявляет отсутствие допустимых решений и неограниченность |
|
модели |
GO |
Решает текущую модель |
NONZ |
Генерирует отчет решения с ненулевыми значениями |
RANGE |
Генерирует отчет по анализу диапазонов |
SOLU |
Генерирует стандартный отчет решения |
|
Problem Editing |
ALTER |
Редактирует контент модели (например, замена файлов) |
DELETE |
Удаляет выбранную строку из модели |
EXTEND |
Добавляет строки к концу текущей модели |
|
Conversational Parameters |
PAGE |
Устанавливает длину страницы или экрана |
PAUSE |
Определяет паузу для ввода с клавиатуры |
TERSE |
Задает уровень вывода |
VERBOSE |
Переключает в режим полного вывода |
WIDTH |
Устанавливает терминальный дисплей и ширину ввода |
|
Tolerances |
APISET |
Предоставляет доступ к расширенным параметрам в LINDO API, |
|
который является библиотекой решателя, используемой LINGO |
DBPWD |
Устанавливает пароль доступа к базе данных через @ODBC |
DBUID |
Устанавливает ID пользователей для доступа к БД через |
|
@ODBC |
FREEZE |
Сохраняет на диске установки текущих допусков |
SET |
Переопределяет значения по умолчанию и допуски |
|
Miscellaneous |
! |
Вставляет комментарий |
QUIT |
Завершает работу LINGO |
TIME |
Показывает время, прошедшее с начала сеанса |
133
|
|
|
ПРИЛОЖЕНИЕ 4 |
|
|
Параметры, доступные через команду SET |
|||
|
|
в режиме командной строки |
||
|
|
|
|
|
№ |
|
По |
|
|
Параметр |
умол- |
Краткое описание |
||
п/п |
||||
|
|
чанию |
|
|
1 |
ILFTOL |
0.3e-5 |
Начальный допуск линейной допустимости |
|
2 |
FLFTOL |
0.1e-6 |
Конечный допуск линейной допустимости |
|
3 |
INFTOL |
0.1e-2 |
Начальный допуск нелинейной допустимости |
|
4 |
FNFTOL |
0.1e-5 |
Конечный допуск нелинейной допустимости |
|
5 |
RELINT |
0.8e-5 |
Относительный интегральный допуск |
|
6 |
NOPTOL |
0.1e-6 |
Допуск NLP оптимальности |
|
7 |
ITRSLW |
5 |
Лимит итераций при медленной сходимости |
|
8 |
DERCMP |
0 |
Вычисление производных (0: выбор LINGO, |
|
|
|
|
1: аналитически до, 2: аналитически вперед, 3: |
|
|
|
|
центральными разностями, 4: разностями вперед) |
|
9 |
ITRLIM |
0 |
Лимит итераций (0: нет ограничения) |
|
10 |
TIMLIM |
0 |
Лимит на время решения в секундах (0: нет огра- |
|
|
|
|
ничения) |
|
11 |
OBJCTS |
1 |
Использовать отсечения типа Objective cuts |
|
|
|
|
(1: да, 0: нет) |
|
12 |
MXMEMB |
32 |
Лимит памяти для генератора модели, Мб |
|
13 |
CUTAPP |
2 |
Применение отсечений (0: в корне дерева, |
|
|
|
|
1: во всех узлах, 2: выбор решателя) |
|
14 |
ABSINT |
.000001 |
Абсолютный интегральный допуск |
|
15 |
HEURIS |
3 |
IP эвристики (0: нет, 100: самые совершенные) |
|
16 |
HURDLE |
0 |
Оценка IP барьера (1: да, 0: нет) |
|
17 |
IPTOLA |
0 |
IP абсолютный допуск оптимальности |
|
18 |
IPTOLR |
.1e-4 |
IP относительный допуск оптимальности |
|
19 |
TIM2RL |
100 |
Секунды до переключения на относительный до- |
|
|
|
|
пуск оптимальности IP |
|
20 |
NODESL |
0 |
Выбор узла в дереве (0: LINGO решает, 1: первый |
|
|
|
|
в глубину, 2: с худшей границей, 3: с лучшей гра- |
|
|
|
|
ницей |
|
134 |
|
|
|
№ |
|
По |
|
Параметр |
умол- |
Краткое описание |
|
п/п |
|
чанию |
|
|
|
|
|
21 |
LENPAG |
0 |
Лимит длины страницы (0: нет) |
22 |
LINLEN |
85 |
Ширина страницы (0: нет) |
23 |
TERSEO |
0 |
Уровень вывода (0: весь отчет, 1: краткий, |
|
|
|
2: только ошибки, 3: нет вывода) |
24 |
STAWIN |
1 |
Окно записи состояния (1: да, 0: нет) |
25 |
SPLASH |
1 |
Заставка дисплея (1: да, 0: нет) |
26 |
OROUTE |
0 |
Направить вывод в Command Window (1: да, 0: нет) |
27 |
WNLINE |
800 |
Максимальное число строк в Command Window |
28 |
WNTRIM |
400 |
Минимальное число строк в Command Window |
29 |
STABAR |
1 |
Отображать строки состояния (1: да, 0: нет) |
30 |
FILFMT |
1 |
Формат файла (0: lng, 1: lg4, 2: ltx) |
31 |
TOOLBR |
1 |
Панель инструментов (1: да, 0: нет) |
32 |
CHKDUP |
0 |
Проверять на дублетность имен модели в данных |
|
|
|
(1: да, 0: нет) |
33 |
ECHOIN |
0 |
Отображать команды на экране (1: да, 0: нет) |
34 |
ERRDLG |
1 |
Направлять сообщения об ошибках в диалоговое |
|
|
|
окно (1: да, 0: нет) |
35 |
USEPNM |
0 |
Разрешить неограниченное использование наиме- |
|
|
|
нований примитивных множеств (1: да, 0: нет) |
36 |
NSTEEP |
0 |
Использовать выбор переменной по наибольшему |
|
|
|
улучшению критерия (steepest-edge) в нелинейном |
|
|
|
решателе (1: да, 0: нет) |
37 |
NCRASH |
0 |
Запускать процедуру CRASH 1 для получения |
|
|
|
начальной точки в нелинейных моделях (1: да, |
|
|
|
0: нет). См. параметр LCRASH (№ 91) для альтер- |
|
|
|
нативной процедуры |
38 |
NSLPDR |
1 |
Вычислять направление поиска в НП, используя |
|
|
|
последовательное линейное программирование |
|
|
|
(1: да, 0: нет) |
39 |
SELCON |
0 |
Использовать выборочную оценку ограничений |
|
|
|
в нелинейном решателе (1: да, 0: нет) |
40 |
PRBLVL |
0 |
Уровень анализа переменных и правых частей |
|
|
|
в MILP (0: LINGO выбирает, 1: нет, 7: высокий) |
135
№ |
|
По |
|
|
Параметр |
умол- |
Краткое описание |
||
п/п |
||||
|
|
чанию |
|
|
41 |
SOLVEL |
0 |
Определить линейный решатель (0: LINGO выби- |
|
|
|
|
рает, 1: прямой, 2: двойственный, 3: барьерный) |
|
42 |
REDUCE |
2 |
Выполнить редукцию модели (2: LINGO выбира- |
|
|
|
|
ет, 1: да, 0: нет) |
|
43 |
SCALEM |
1 |
Масштабировать модель (1: да, 0: нет) |
|
44 |
PRIMPR |
0 |
Правило выбора вводимой переменной (pricing) |
|
|
|
|
в прямом симплекс-методе (0: LINGO выбирает, |
|
|
|
|
1: по части переменных, 2: devex) |
|
45 |
DUALPR |
0 |
Правило выбора вводимой переменной в двойст- |
|
|
|
|
венном симплекс-методе (0: LINGO выбирает, |
|
|
|
|
1: Дантцига, 2: по наибольшему улучшению кри- |
|
|
|
|
терия (steepest-edge)) |
|
46 |
DUALCO |
1 |
Выполнить двойственные вычисления (0: нет, |
|
|
|
|
1: только цены, 2: цены и диапазоны, 3: цены |
|
|
|
|
только на оптимизируемые строки) |
|
47 |
RCMPSN |
0 |
Использовать имена RC формата для MPS I/O |
|
|
|
|
(1: да, 0: нет) |
|
48 |
MREGEN |
2 |
Выбрать регенерацию модели (0: только при мо- |
|
|
|
|
дификации модели, 1: как при 0, а также при на- |
|
|
|
|
личии ссылок, 2: всегда) |
|
49 |
BRANDR |
0 |
Выбрать направление ветвления (0: вверх и вниз, |
|
|
|
|
1: вверх, 2: вниз) |
|
50 |
BRANPR |
0 |
Выбрать приоритет ветвления (0: выбор LINGO, |
|
|
|
|
1: бинарные вперед) |
|
51 |
CUTOFF |
.1e-8 |
Переменные решения с меньшим значением при- |
|
|
|
|
равнивать нулю |
|
52 |
STRONG |
10 |
Задать число уровней дерева, на которых ветвле- |
|
|
|
|
ние определяется по оценке подмножества дроб- |
|
|
|
|
ных переменных |
|
53 |
REOPTB |
0 |
Выбрать решатель для теплого старта LP при ре- |
|
|
|
|
шении IP модели (0: выбор LINGO, 1: прямой, |
|
|
|
|
2: двойственный, 3: барьера) |
|
54 |
REOPTX |
0 |
Выбрать решатель для теплого старта LP при ре- |
|
|
|
|
шении IP модели (0: выбор LINGO, 1: прямой, |
|
|
|
|
2: двойственный, 3: барьера) |
|
136 |
|
|
|
№ |
|
По |
|
Параметр |
умол- |
Краткое описание |
|
п/п |
|
чанию |
|
|
|
|
|
55 |
MAXCTP |
100 |
Установить максимальное число отсечений в кор- |
|
|
|
не дерева, выполняемых препроцессором IP |
56 |
RCTLIM |
.75 |
Относительный лимит отсечений |
57 |
GUBCTS |
1 |
Использовать отсечения типа GUB (1: да, 0: нет) |
58 |
FLWCTS |
1 |
Использовать отсечения типа Flow (1: да, 0: нет) |
59 |
LFTCTS |
1 |
Использовать отсечения типа Lift (1: да, 0: нет) |
60 |
PLOCTS |
1 |
Использовать отсечения типа Plant location |
|
|
|
(1: да, 0: нет) |
61 |
DISCTS |
1 |
Использовать отсечения типа Disaggregation |
|
|
|
(1: да, 0: нет) |
62 |
KNPCTS |
1 |
Использовать отсечения типа Knapsack cover |
|
|
|
(1: да, 0: нет) |
63 |
LATCTS |
1 |
Использовать отсечения типа Lattice (1: да, 0: нет) |
64 |
GOMCTS |
1 |
Использовать отсечения типа Gomory cuts |
|
|
|
(1: да, 0: нет) |
65 |
COFCTS |
1 |
Использовать отсечения типа Coefficient reduction |
|
|
|
cuts (1: да, 0: нет) |
66 |
GCDCTS |
1 |
Использовать отсечения типа Greatest common |
|
|
|
divisor (1: да, 0: нет) |
67 |
SCLRLM |
1000 |
Максимальное число строк редактора модели с |
|
|
|
синтаксической раскраской, при значении 0 рас- |
|
|
|
краски нет |
68 |
SCLRDL |
0 |
Задержка синтаксической окраски в секундах |
69 |
PRNCLR |
1 |
Выделять скобки цветом (1: да, 0: нет) |
70 |
MULTIS |
0 |
Число локальных поисков NLP решателем |
|
|
|
multistart (0: выбор LINGO, n: число локальных |
|
|
|
поисков) |
71 |
USEQPR |
1 |
Проверять, является ли нелинейная модель квад- |
|
|
|
ратичной (1: да, 0: нет) |
72 |
GLOBAL |
0 |
Использовать глобальный решатель для нелиней- |
|
|
|
ных моделей (1: да, 0: нет) |
73 |
LNRISE |
0 |
Использовать линеаризацию модели (0: выбор |
|
|
|
LINGO, 1: нет, 2: незначительно, 3: максимально) |
74 |
LNBIGM |
10^5 |
Значение числа M, используемого при линеариза- |
|
|
|
ции в неравенствах связи переменных |
137
№ |
|
По |
|
|
Параметр |
умол- |
Краткое описание |
||
п/п |
||||
|
|
чанию |
|
|
75 |
LNDLTA |
.1e-5 |
Точность выполнения ограничений, добавленных |
|
|
|
|
при линеаризации |
|
76 |
BASCTS |
1 |
Использовать отсечения типа Basis (1: да, 0: нет) |
|
77 |
MAXCTR |
2 |
Максимальное число отсечений в узлах дерева |
|
|
|
|
ниже корневого |
|
78 |
HUMNTM |
0 |
Минимальное время, затрачиваемое на эвристику |
|
|
|
|
в каждом узле дерева (секунд) |
|
79 |
DECOMP |
0 |
Выполнять декомпозицию матрицы условий |
|
|
|
|
(1: да, 0: нет) |
|
80 |
GLBOPT |
.1e-5 |
Допуск оптимальности глобального решателя |
|
81 |
GLBDLT |
.1e-7 |
Точность выполнения дополнительных ограниче- |
|
|
|
|
ний глобального решателя |
|
82 |
GLBVBD |
.1e+10 |
Предельное значение границ переменных для гло- |
|
|
|
|
бального решателя d определяет допустимый диа- |
|
|
|
|
пазон [-d, d] |
|
83 |
GLBUBD |
2 |
Использовать глобальным решателем границ |
|
|
|
|
(0: нет, 1: все, 2: выбранные) |
|
84 |
GLBBRN |
5 |
Выбрать направление ветвления (0: абсолютная |
|
|
|
|
ширина, 1: локальная ширина, 2: глобальная ши- |
|
|
|
|
рина, 3: глобальное расстояние, 4: абсолютное |
|
|
|
|
нарушение, 5: относительное нарушение) |
|
85 |
GLBBXS |
1 |
Определить стратегию выбора узла дерева |
|
|
|
|
(0: в глубину, 1: по худшей границе) |
|
86 |
GLBREF |
3 |
Степень алгебраического преобразования модели |
|
|
|
|
глобальным решателем (0: нет, 1: низкая, 2: сред- |
|
|
|
|
няя, 3: высокая) |
|
87 |
SUBOUT |
2 |
Использовать фиксированные переменные для |
|
|
|
|
сокращения модели (0: нет, 1: max, 2: нет для гло- |
|
|
|
|
бального или мультистарт решателей, 3: только |
|
|
|
|
линейные переменные) |
|
88 |
NLPVER |
N/A |
Этот параметр больше не поддерживается |
|
89 |
DBGCLD |
0 |
Выбрать линейный решатель для отладки модели |
|
|
|
|
с холодным стартом (0: выбор LINGO, 1: прямой, |
|
|
|
|
2: двойственный, 3: барьерный) |
|
138 |
|
|
|
№ |
|
По |
|
Параметр |
умол- |
Краткое описание |
|
п/п |
|
чанию |
|
|
|
|
|
90 |
DBGWRM |
0 |
Выбрать линейный решатель для отладки модели |
|
|
|
с теплым стартом (0: выбор LINGO, 1: прямой, |
|
|
|
2: двойственный, 3: барьерный) |
91 |
LCRASH |
0 |
Запускать процедуру CRASH 2 для получения |
|
|
|
начальной точки в нелинейных моделях (1: да, |
|
|
|
0: нет). См. параметр NCRASH (№ 37) для альтер- |
|
|
|
нативной процедуры |
92 |
BCROSS |
1 |
Приводить решение барьерного решателя к базис- |
|
|
|
ному для линейных моделей (0: нет, 1: да) |
93 |
LOWMEM |
0 |
Использовать меньше памяти для решения |
|
|
|
(0: нет, 1: да) |
94 |
FILOUT |
0 |
Писать экспортируемое решение в таблицы БД |
|
|
|
поверх (0: нет, 1: да) |
95 |
DBGLVL |
15 |
Уровень вывода при отладке (от 1: низкий до 15: |
|
|
|
высокий) |
96 |
UNARYM |
1 |
Приоритет унарного минуса (0: низкий, 1: высо- |
|
|
|
кий) |
97 |
LINEAR |
0 |
Предположить, что модель линейная и потому |
|
|
|
требует меньше памяти (0: нет, 1: да) |
98 |
LOPTOL |
.1e-6 |
Допуск оптимальности для линейной модели (от- |
|
|
|
личие оценки переменной от нуля) |
99 |
SECORD |
0 |
Использовать производные 2-го порядка для NLPs |
|
|
|
(0: нет, 1: да) |
100 |
NONNEG |
1 |
По умолчанию переменные неотрицательные |
|
|
|
(0: нет, 1: да) |
101 |
BIGMVL |
1.e8 |
Большая константа М в моделях IP |
102 |
KILLSC |
0 |
При прерывании выполнения скрипта продолжать |
|
|
|
со следующего оператора (0: да, 1: нет) |
103 |
TATSLV |
0 |
Лимит времени на решение функцией @SOLVE, |
|
|
|
в секундах, 0 – нет ограничения |
104 |
KBESTS |
1 |
До К лучших решений (K-Best) MIP модели воз- |
|
|
|
вращает LINGO, где К – значение параметра |
105 |
LCORES |
1 |
Число параллельно запускаемых решателей LP на |
|
|
|
многоядерных процессорах (максимум 4) |
139
№ |
|
По |
|
|
Параметр |
умол- |
Краткое описание |
||
п/п |
||||
|
|
чанию |
|
|
106 |
LCORE1 |
1 |
LP решатель в 1-м ядре (1: прямой 1, 2: двойст- |
|
|
|
|
венный, 3: барьерный, 4: прямой 2) |
|
107 |
LCORE2 |
2 |
LP решатель во 2-м ядре (1: прямой 1, 2: двойст- |
|
|
|
|
венный, 3: барьерный, 4: прямой 2) |
|
108 |
LCORE3 |
3 |
LP решатель в 3-м ядре (1: прямой 1, 2: двойст- |
|
|
|
|
венный, 3: барьерный, 4: прямой 2) |
|
109 |
LCORE4 |
4 |
LP решатель в 4-м ядре (1: прямой 1, 2: двойст- |
|
|
|
|
венный, 3: барьерный, 4: прямой 2) |
|
110 |
SCALEW |
1.e12 |
Допустимое отношение наибольшего коэффици- |
|
|
|
|
ента модели к наименьшему |
|
111 |
REFRAQ |
0 |
Частота реформирования базисной матрицы |
|
|
|
|
(0: выбор LINGO chooses, n: число итераций меж- |
|
|
|
|
ду реформированиями) |
|
112 |
SPSMSZ |
2 |
Размер выборки для случайных переменных на |
|
|
|
|
стадию стохастического программирования (SP) |
|
113 |
SPSCON |
1 |
Применить выборку SP только к непрерывным |
|
|
|
|
случайным величинам (0: нет, 1: да) |
|
114 |
SPSEED |
1,031 |
Исходное число для генерации выборки |
|
115 |
SPMTHD |
0 |
Метод решения стохастических моделей (0: выбор |
|
|
|
|
LINGO, 1: детерминированный эквивалент, |
|
|
|
|
2: декомпозиция Бендера) |
|
116 |
SPXVAL |
1 |
Вычислять все ожидаемые значения статистиче- |
|
|
|
|
ских данных в SP (0: нет, 1: да) |
|
117 |
SPMAXS |
40000 |
Максимальное количество сценариев в модели SP |
|
|
|
|
перед автоматическим получением выборок слу- |
|
|
|
|
чайных величин |
|
118 |
PRECIS |
7 |
Число цифр в стандартном отчете о решении |
|
119 |
LOOPOP |
0 |
Оптимизировать выполнение вложенных циклов |
|
|
|
|
(0: нет, 1: да) |
|
120 |
HEUCUT |
0 |
Критерий эвристик отсечения (0: выбор LINGO, |
|
|
|
|
1: время, 2: итерации) |
|
121 |
NUMBIN |
0 |
Число ячеек в гистограмме (0: выбор LINGO, |
|
|
|
|
>0: число ячеек) |
|
122 |
SPBIGM |
1.E8 |
Большое значение М, используемое SP решателем |
|
140 |
|
|
|