Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Оптимизация в LINDO

..pdf
Скачиваний:
10
Добавлен:
12.11.2023
Размер:
4.57 Mб
Скачать

8.Параметры вывода

!Вставляет комментарий

BATCH

Указывает группу для выполнения

PAGE

Устанавливает длину страницы/экрана

PAUSE

Пауза для ввода с клавиатуры

TERSE

Определяет стиль вывода как краткий

VERB

Определяет стиль вывода как полный

WIDTH

Определяет терминальную ширину вывода

IUSER,

INVERT STATS BUG DEBUG SET TITLE

QUIT

9. Пользовательские подпрограммы

I Выполняет пользовательскую подппогоамму

|

10. Другие команды

Инвертирует текущий базис (итерация) Выводит суммарную статистику по модели Выдает отчет об ошибках в LINDO

Помогает в отладке неразрешимой и неограниченной модели Устанавливает различные допуски Вводит, изменяет или возвращает заголовок модели

 

1 1 .

Выход

 

i-..,) . ..

■■_<" •

<-----

iS

Л-^'.—

 

 

Выход из LINDO

___ ^ -----—--------------

71

Прилож ение j

Сообщения об ошибках

1. UNRECOGNIZED COMMAND.

Введенная команда не была распознана командным процессором UNDO. Проверьте правильность ввода команды и повторите попытку.

2. EXPECTING «SUBJECT Т О »... ENTER THAT OR «END».

Синтаксический анализатор UNDO обнаружил отсутствие «SUBJECT ТО» или «ST» для индикации начала области ограничений. Это указывает на то, что произошла синтаксическая ошибка. Следует вернуться к модели и проверить присутствие SUBJECT ТО, SUCH THAT, S.T. или ST после строки критерия.

3. FIRST ROW SHOULD NOT HAVE A RELATIONAL OPERATOR.

В первой строке модели UNDO всегда должен быть критерий. Это значит, что в ней никогда не может содержаться оператор отношения (т.е. <, > или =).

4. EXPECTING SIGN OR RELATIONAL OPERATOR.

Синтаксический анализатор UNDO не обнаружил знака у коэффициента или оператора отношения, но нашел нечто другое.

5. EXPECTING A VARIABLE COEFFICIENT.

Синтаксический анализатор UNDO обнаружил отсутствие коэффициента при переменной.

6.FIRS CHARACTER OF A VARIABLE NAME MUST BE A LETTER. Синтаксический анализатор LINDO обнаружил, что имя переменной начинается не с алфавитного символа (а, Ъ, с, ...)•

7.VARIABLE NAMES MUST BE <= 8 CARACTERS.

Максимальное число символов, допустимое в именах переменных и строк LINDO, равно" Ъ. Необходимо убедиться, что вес имена переменных содержат не больше 8 символов.

8. INVALID VARIABLE NAME.

Встретилось специфическое имя переменной, которое не распознается UNDO. Проверьте имена всех переменных.

9. INVALID ROW NUMBER. REENTER ROW NO. (1 TO M ).

Введен неправильный номер строки. Повторите ввод, задав номер строки в диапазоне от 1 до т, где т - число строк в текущей модели.

30. ROW 1 HAS NO RHS ... REENTER ROW NUMBER.

Попытка изменить посредством ALTER коэффициент с правой стороны целевой функции. Целевая функция в UNDO не допускает присутствия какого-либо значения с правой стороны. Она всегда в 1 строке и должна начинаться с МАХ или MIN.

72

11. CANNOT DELETE ROW 1... REENTER ROW NUMBER.

Целевая функция должна всегда присутствовать в модели. Поэтому нельзя использовать команду DELETE для удаления 1 строки. Для редактирования 1 строки используйте команду ALTER.

12. END INVALID EXCEPT AFTER A COMPLETE ROW.

Обнаружен оператор END до окончания ввода модели. Это указывает на то, что произошла синтаксическая ошибка.

13.<Не используется>

14.EXPECTING A RHS VALUE

Синтаксический анализатор LINDO ожидал значения правой части, но встретил нечто другое. Возможно, справа размещена переменная, что недопустимо в flNDO'. Все переменные должны быть перенесены в левую часть ограничения.

15. INVALID DATA SET NAM E... PLEASE REENTER

Введено неверное имя файла. Проверьте правильность пути и ймепи файла.

16.<Не исполъзуется>

17.<Не нспользуется>

18.THERE IS NO CURRENT FORMULATION IN MEMORY.

Запущенная команда требует, чтобы модель была в памяти. Введите новую мбдёйь с командами МАХ или MIN или прочитайте модель с диска.

19.<Не используется>

20.UGH! RETREATING ТО COMMAND LEVEL. USE LOOK, ALTER, DELETE, AND EXTEND TO VIEW DAMAGE, MAKE MINOR REPAIRS, DELETE A CONSTRAINT AND GET BACK IN INPUT MODE.

Обнаружено несколько связанных ошибок в тексте модели. Не пытайтесь продолжать, LINDO прервет ввод модели и возвратится на командный уровень. В этой точке можно ввести новую модель с командами МАХ или MIN или прочитать модель с диска.

21.COMMAND DISREGARDED.

Введенная команда содержит неверные аргументы или для отказа от команды использована пустая строка. В любом случае обработка команды прерывается и

происходит возвратна командный уровень.

1

22.<Не исиользуется>

23.ТОО MANY INTEGER VARS. MUST BE <= <n>.

UNDO сообщает о превышении предела числа целых переменных в активной модели. В общем этот предел совпадает с пределом всего возможного числа переменных. Тем не менее, некоторые версии LINDO могут иметь предел целых переменных ниже возможного числа переменных. В Windows версии LINDO команда Help About LINDO... показывает предельное число переменных. DOS версия LINDO может

73

использовать команду HELP для выдачи той же информации. Информация о специальных версиях UNDO находится в руководстве пользователя.

24. BAD VARIABLE NAME.

Введено недопустимое имя переменной. Обработка команды прервана. Проверьте написание имени и повторите ввод.

25.<Нё исполъзуется>

26.FILE TYPE NOT RECOGNIZED,

Попытка читать модель из файла, формат которого не распознается UNDO. Эта ошибка возникает при попытке загрузить текстовый файл UNDO (в DOS версии), используя команду RETR, которая распознает только упакованные файлы UNDO (*.lpk), Ддя открытия текстового файла в DOS версии UNDO необходимо использовать команду ТАКЕ.

27.MODEL SIZES OF: <m> ROWS <i> INTEGERS <n> VARIABLES, <z> NONZEROS ARE TOO BIG FOR VERSION LIMITS OF: <M> <I> <N> <Z> Попытка прочитать модель, которая слишком большая для данной версии L1NDO. Уменьшите размерность модели или используйте более мощную версию UNDO, которая бы восприняла эту модель.

28.NO. OF VARIABLES MUST EQUAL NO. OF CONSTRAINTS.

В модели квадратичного программирования есть одна двойственная переменная для каждого реального ограничения и одно условное ограничение первого порядка для каждой реальной переменной. Таким образом, в расширенной квадратичной модели с присутствием условий первого порядка, общее число переменных должно равняться общему числу ограничений. UNDO обнаруживает что это не так. Проверьте модель на опечатки и другие ошибки.

29. OUT OF SPACE WHILE ADDING SLACK VARIABLES.

Когда UNDO решает модель, вводится одна дополнительная переменная (резерв или избыток) в каждое неравенство, чтобы преобразовать в равенство. Число этих дополнительных переменных входит в предел версии UNDO, который оказался превышенным. Запустите более мощную версию UNDO. Если это невозможно, то можно попытаться преобразовать некоторые неравенства в равенства без ущерба для задачи.

30. FILE COULD NOT BE OPENED.

UNDO не может открыть файл, определенный как часть команды. Убедитесь в том, что имя файла введено корректно, путь задан правильно и есть ли доступ к файлу.

31. NOT ENOUGH WORKING MEMORY.

UNDO не хватает памяти для выполнения заданной операции.

32. INVALID COMMAND: <Command> TYPE «СОМ» TO SEE VALID COMMANDS.

Введена неизвестная команда в командную строку LINDO. Проверьте правильность

74

написания команды или, используя команду COMMANDS, получите список возможных команд.

33. AMBIGUOUS COMMAND: <Command>.

UNDO считает, что аббревиатура команды очень длинная и не поддается разбору. Когда аббревиатура команды очень большая, могут не распознаться другие команды, и UNDO выдает сообщение об ошибке.

34.<Не нспользуется>

35.INADMISSABLE VALUE: <Value>. COMMAND IGNORED.

Введен неверный аргумент для команды. Проверьте документацию или файл помощи для этой команды и повторите попытку.

36.<Не аспользуется>

37.<Не используется>

38.INVALID ROW. DISREGARDED.

Обнаружено неправильное имя или номер строки. Проверьте правильность ввода имени или убедитесь, что номер строки находится в пределах диапазона строк* определенных в модели.

39. COMMAND DISREGARDED: SOLVE MODEL FIRST.

Попытка дать команду, требующую присутствия правильного решения в памяти. Используйте команду GO для решения модели и повторите попытку.

40. WARNING: OVERLENGTH LINE, CHARACTERS MAY HAVE BEEN LOSTOFF END. USE CARRIAGE RETURN TO BREAK-UP OVER SEVERAL INPUT LINES.

Попытка ввести строку, которая превышает дрпустимую терминальную длину. Сделайте строки короткими или используйте команду WIDTH для командной строки и: команду Edit|Options для Windows, чтобы увеличить терминальную ширину строк.

41.<Не используется>

42.NAME ALREADY IN USE.

Попытка изменить с помощью команды ALTER имя строки на уже используемое имя. Введите другое имя.

43. INPUT WAS INVALID.

Произведен неверный ввод команды. Посмотрите документацию или файл помощи для этой команды и повторите попытку.

44.<Не использустся>

45.WARNING: VARIABLE <VariabIe> HAS THE LOWER AND UPPER BOUNDS: <Lower> <Upper>.

Обнаружены противоречивые границы переменной. Явными условиями определена

нижняя граница больше, чем верхняя. Повторите ввод границ этой переменной.

75

46. VARIABLE NOT RECOGNIZED.

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

47. <VariableIndex> IS NOT A VALID INTEGER VARIABLE.

Задан неправильный индекс переменной при объявлении целой переменной. Индекс должен находиться в пределах от 1 до N, где N - полное число переменных.

48. INVALID BOUND VALUE.

Неверное значение для границы переменной. Убедитесь в том, что значением границы является число, и повторите ввод.

49. SUB FOR INVALID VARIABLE: < Variablelndex >.

Неправильный индекс переменной при задании простой верхней границы переменной. Индекс должен находиться в пределах от 1 до N, где N - полное число переменных.

50. INVALID SUB: <VaIue> FOR VAR < Variablelndex >.

Неверное значение для простой верхней границы переменной. Убедитесь в том, что значением границы является число и что оно неотрицательно.

51.<Не используется>

52.UNBOUNDED SOLUTION IN STEP <N>, REDUCED COST=<Valiie> USE THE «DEBUG» COMMAND FOR MORE INFORMATION.

Критериальная функция неограниченно улучшается. Возможно имеются переменные, написанные с орфографическими ошибками, или опущены некоторые ограничения. Запустите команду «DEBUG» для устранения проблемы.

53.ITERATION LIMIT EXCEEDED.

UNDO имеет ограничения на количество итераций. В версии командной строки можно задать предел как параметр команды GO, задав GO N, где N - целое число, которое будет использовано как предел итераций. Обычно эта ошибка сообщает пользователю, как много дополнительных итераций должно быть допущено.

54. NO FEASIBLE SOLUTION AT STEP <N>.

Нет решений, одновременно удовлетворяющих всем ограничениям. Запустите команду «DEBUG» в DOS версии или Solve|Debug в Windows версии UNDO для устранения проблемы.

55. NO INGEGER SOLUTION WAS FOUND.

Нет целого решения. Модель LP разрешима, но неразрешима как ГР. Убедитесь, что ваша модель корректно определена и в ней нет синтаксических ошибок.

56. WARNING, SOLUTION MAY BE NONOPTIMAL/NONFEASIBLE.

Текущее решение в памяти не является оптимальным или допустимым Используйте команду GO для решения модели и следуйте далее.

57. NESTED «ТАКЕ» FILES ARE NOT ALLOWED.

UNDO не допускает вложенные ТАКЕ файлы. Поэтому нельзя разместить команду ТАКЕ в файле, который намереваетесь сделать командой ТАКЕ.

76

58. MORE THAN <N> COLUMNS HAD NONZERO OBJECTIVE COEFFICIENTS. THIS EXCEEDS THE LIMITS OF THIS VERSION.

Имеется слишком много целей в модели целевого программирования. Попытайтесь устранить некоторые цели.

59.FORMULATION ANOMALIES PRESENT: FIRST ANOMALY WAS IN COLUMN <N> OBJECTIVE COEFFICIENT NOT +1.

Критериальные коэффициенты в модели целевого программирования должны всегда быгь+1.

60.FORMULATION ANOMALIES PRESENT: FIRST ANOMALY WAS IN COLUMN <N> MORE THAN 2 NONZEROS IN COLUMN WITH +1 IN OBJECTIVE ROW.

Целевая переменная в модели целевого программирования должна иметь только, 2 ненулевых значения - одно в критерии и другое в строке определения цели.

61.<Не используется>

62.<Не нспользустся>

63.INFEASIBLE MODEL ENCOUNTERED DURING GOAL PROGRAMMING. Попытка решить модель целевого программирования, которая не имеет решения, одновременно удовлетворяющего всем ограничениям. Запустите команду «DEBUG» для устранения проблемы.

64.UNBOUNDED MODEL ENCOUNTERED DURING GOAL PROGRAMMING. Попытка решить модель целевого программирования» которая имеет неограниченно возрастающую цель. Запустите команду «DEBUG» для устранения проблемы.

65.MAXIMUM ROW LIMIT OF <M> EXCEEDED.

LINDO имеет предел числа ограничений в модели, который превышен в активной модели. Можно использовать более позднюю версию LINDO или'убрать некоторые ограничения. Имейте в виду, что стандартный нижний предел для значении переменных в LINDO - это 0. Поэтому ограничения типа Х>=0 вводить не надо. Также используйте утверждения SUB и SLB для установки простых границ, они не входят д предел ограничений.

66. WARNING: PROBLEM IS POORLY SCALED. THE UNITS OF THE ROWS AND VARIABLES SHOULD BE CHANGED SO THE COEFFICENTS COVER A MUCH SMALLER RANGE.

LINDO печатает это сообщение, когда некоторые ненулевые коэффициенты имеют ненормально большие или малые значения. Также вычисляется отношение самого маленького коэффициента к самому большому, и будет выдано сообщение, если это отношение окажется крайне малым. Это просто предупреждение, и можно продолжать решение модели без проблем. Тем не менее, если LINDO будет слишком долго решать модель, то можно попытаться масштабировать данные.

67. INVALID VALUE DISREGARDED.

Введено неверное значение аргумента как часть команды. Проверьте по документации или файлу помощи синтаксис этой команды и повторите попытку.

77

68. END ASSUMED. TOO MANY ELEMENTS.

Имеется слишком много ненулевых элементов в команде APPCOL. Проверьте данные и. повторите попытку.

69. VARIABLE ALREADY EXIST, COMMAND DISREGARDED.

Попьпка добавить столбец с именем, которое уже присутствует. Используйте другое имя переменной и повторите попытку.

70. BAD COLUMN INDEX <N> TO INSERT ROW.

Попытка вставить строку с неверным индексом столбца. Проверьте данные и повторите попытку.

71.OUT OF SPACE Ш INSERT ROW ADDING ROW: <I>. SPACE NEEDED: <J>. SPACE AVAILABLE: <K>.

Превышено ненулевое пространство, отраннчснное UNDO. Для увеличения предела ненулевого пространства смотрите HELP. Тем не менее, если уже максимизировано ненулевое пространство, может потребоваться уменьшить размер модели или использовать более позднюю версию LINDO. В Windows версии UNDO команда Help|About UNDO... показывает предельные возможности используемой версии LINDO.

72.FATAL OUT-OF-SPACE IN INVERT AT STEP: <N>.

LINDO превысил рабочее ненулевое пространство во время инверсии базиса. В Windows версии LINDO можно использовать команду BditjOptions для увеличения предела ненулевого пространства. В других версиях можно попытаться увеличил» максимальный уровень ненулевого пространства, открыв файл в директории UNDO, названный LINDO.CNF. Установите в первой строке файла «MAXNZ=z», где z - это максимальное число ненулевых элементов. Перезапустите LINDO и запустите команду HELP, чтобы увидеть, удалось ли увеличить число ненулевых элементов.

73. NO PASIS ORDER EXIST. USE INVERT FIRST.

Команда Basis Picture требует, чтобы, активный базис присутствовал в памяти. Запустите команду INVERT и повторите попытку.

74. MODEL ТОО BIG ТО PERMUTE.

LINDO превысил пространство, пытаясь представить модель в нижней треугольной форме.для ненулевой ''картины1. Чтобы увеличить предел ненулевого пространства, обращайтесь к документации (смотрите сообщение № 72).

75. DUPLICATE ROW IN MPS MODEL: <Row>.

Строка .была определена дважды в MPS файле. Откорректируйте MPS файл и повторите попытку. (MPS - стандартный формат LP задач для больших машин).

76.BAD CARD IN MPS MODEL: <CardText>.

ВMPS файле была встречена неверная запись. Откорректируйте MPS файл и повторите

попытку.

78

77. NO OBJECTIVE ROW WAS FOUNDIN THE MPS MODEL.

UNDO не может найти строку целевой функции в MPS модели. Добавьте критерий к файлу и повторите попытку.

78.ERROR IN MPS MODEL ON LINE: <N> <CardText>.

ВMPS файле в строке номер <п> была встречена неверная запись. Откорректируйте MPS файл и повторите попытку.

79.OUT OF PLACE INTEGER MARKER CARD IN LINE: <CardText>,.

UNDO требует, чтобы Целые переменные5 находились первыми во шюжестве переменных в MPS файле. Перенесите целые переменные вперед и повторите попытку.

80. WARNING: UNTERMINATED MARKER SET.

Множество целых переменных не определено. Все переменные должны быть объявлены целыми. Это простое предупреждение и нс обязательно предпринимать корректировку.

81.BAD VARIABLE IN BOUNDS SECTION OF MPS MODEL IN LINE <N>. Неправильное имя переменной было определено в секции границ MPS файла в строке с номером <N>. Проверьте написание имени переменной и повторите попытку.

82.BAD BOUND <BoundValue> IN BOUNDS SECTION OF MPS MODEL IN LINE <N>.

Неправильное значение границы было определено в секции границ MPS ' фййю. Убедитесь в том, что определено числовое значение и что значение границы расположено в соответствующем столбце и повторите попытку.

83. UNRECOGNIZED BOUND TYPE IN MPS MODEL ON LINE <N>.

Использован неверный тип границ в файле MPS модели в строке с номером <N>. Типы границ, распознаваемые LINt)0, это - FX, UP, LO, FR, BV, Ш и LI. Откорректируйте тип границы и повторите попытку.

84. BAD RANGE IN MPS MODEL ON LINE <CardTcxi>.

Указан неверный диапазон в MPS модели. Проверьте написание имени “строки" й повторите попытку.

85. ***WARNING***

<N> ERRORS INPUTTING MPS FILE. CORRECT EXECUTION UNLIKELY. UNDO обнаружил <N> ошибок после обработки MPS файла. Это только предупреждение, и обработка файла не будет прервана. Тем не менее, если любая из

ошибок была обнаружена, необходимо откорректировать ее перед дальнейшими*Л действиями.

86.PROBLEM ТОО BIG: DATA INPUT IS FINISHED. <M> ROWS

<N> COLUMNS

<Z> NONZERO ELEMENTS.

MPS модель превысила внутренний предел версии UNDO. UNDO печатает все номера строк, колонок и ненулевых элементов, прочитанных до прерывания обработки файла.

79

Для определения пределов версия запустите команду UNDO Help|About или HELP (для командной строки). В некоторых версиях LINDO можно увеличить предел ненулевого пространства (см. сообщение Ха 72).

87. RETREVAL OBORTED.

LINDO прервал обработку MPS файла из-за ошибок в нем. Откорректируйте, эти ошибки и повторите попытку.

88. END OF FILE ENCOUNTERED IN MPS FILE, LINES READ: <N>.

LINDO обнаружил преждевременное окончание файла MPS. Возможно, часть файла отсутствует или опущена карта ENDATA в конце файла. Откорректируйте и продолжайте.

89.NONEXISTENT COLUMN NAME ON THE FOLLOWING BASIS RECORD:

<CardText>. LINES READ=<N>.

UNDO обнаружил неверное имя переменной во время чтения базисного файла в MPS формате. Возможно, этот базисный файл не относится к текущей модели или имя переменной введено неправильно. Откорректируйте и продолжайте.

90.THE FOLLOWING RECORD HAD AN INVALID STATUS: <CardText> . THE RECORD IS IGNORED. LINES READ=<JV>.

LINDO не может распознать тип записи в базисном файле формата MPS. Типы, распознаваемые LINDO, это - XL, XU, LL, UL или IV. Откорректируйте и повторите попытку,

91. NONEXIST ROW NAME ON THE FOLLOWING BASIS RECORD: <CardText>. LINES READ=</V>.

LINDO обнаружил неверное имя строки во время чтения базисного файла в MPS формате. Возможно, этот базисный файл не относится к текущей модели или имя ряда введено неправильно. Откорректируйте и продолжайте.

92. THE MODEL MUST BE SOLVED FIRST.

Попытка распечатать отчет о решении в MPS формате до решения модели. Решите модель, используя команду Solve или GO (для командной строки), и продолжайте дальше.

93. THE ROW ON THE FOLLOWING LINE IS NOT BASIC: <CardTexO.

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

94.ROW <RowName> HAS WRONG BOUND - OPPOSITE BOUND SET. Попытка установить на дополнительную переменную бесконечную границу.

95.THE COLUMN ON THE FOLLOWING LINE IS BASIC: <CardText>. Попытка сделать столбец базисным, который уже базисный.

96.THE COLUMN ON FOLLOWING CARD IS NOT AN INTEGER VARIABLE: <CardText>. LINES READ=<tfV>.

80