Читайте также: |
|
Диалог Link появляется в следующем виде:
Поле Linked To (связать с…) на этой закладке позволяет изменить исходный файл объекта. Для этого нажмите кнопку Change Source … (изменить источник), чтобы открыть стандартный диалог Windows, в котором можно выбрать новый исходный файл, с которым будет связан объект.
Поле Update в закладке Link позволяет выбрать тип изменения объекта. Отметьте радио-кнопку Automatically для автоматического изменения объекта при редактировании файла-источника. Если вы предпочитаете, чтобы изменения вносились в объект только по вашей команде, отметьте радио-кнопку Manual (ручное управление). В последнем случае LINGO будет вносить изменения в объект только после нажатия кнопки Update Now (обновить сейчас).
Для открытия исходного файла для редактирования, нажмите кнопку Open Source (открыть источник). LINGO откроет файл объекта в приложении, с которым он был изначально связан.
Если вы хотите разорвать связь объекта с исходным файлом и сделать его встроенным объектом, нажмите кнопку Break Link (разорвать связь). Более подробную информацию о редактировании не связанного объекта можно найти ниже в описании команды Object.
Object
Используйте команду Object для редактирования объекта в его исходном формате. Выбор команды Object|Open открывает объект в исходном приложении, с которым он связан. При этом Lingo остается в рабочем состоянии в фоновом режиме, пока вы редактируете объект. Чтобы увидеть, как отредактированный объект будет выглядеть в LINGO, выберите команду Update LINGO Model (обновить модель LINGO) в меню File. После окончания редактирования закройте исходное приложение и ответьте OK, чтобы обновить объект в LINGO.
Можно также редактировать объект, выбрав команду Object|Edit. При этом откроется связанное с объектом приложение и закроется интерфейс LINGO. После окончания редактирования щелкните мышью где-либо вне объекта. При этом закроется приложение объекта и снова откроется модель в LINGO.
Меню LINGO
Solve Ctrl+S
Используйте команду Solve (решить) из меню LINGO, или щелкните по указанной кнопке, или нажмите клавишу Ctrl+S, чтобы отправить модель в оперативную память решателю LINGO. Если одновременно открыто несколько моделей, то начнет решаться только активная модель (расположенная поверх остальных).
Solution… Ctrl+O
Используйте команду Solution (решение) из меню LINGO, или щелкните по указанной кнопке, или нажмите клавишу Ctrl+O, чтобы открыть диалоговое окно опций отчета решения. В нем вы можете указать, в каком виде должен появиться отчет о решении. Этот диалог выглядит следующим образом:
Поставьте отметку в поле Nonzeros Only (только ненулевые), чтобы увидеть отчет только для ненулевых переменных и связанных с ними ограничений. В поле Attribute or Row Name (атрибут или имя строки) введите атрибуты строки, о которой вы хотите получить отчет. Оставьте это поле пустым, если хотите увидеть все атрибуты и все строки. В поле Header Text (текст заголовка) введите текст (например, “Value for X”), который вы бы хотели увидеть в качестве заголовка отчета.
Когда вы нажмете кнопку OK, LINGO выведет отчет в окно отчета Solution Report Window. Можно сохранить весь отчет в виде файла, или использовать команды Cut и Paste, чтобы вырезать часть текста отчета и вставить его в новый файл. Другим способом записать отчет в файл является использование команды Log Output… из меню File, которая позволяет создать новый файл отчета, и затем нажать кнопку Solution. Отчет о решении будет записан в файл. Когда запись закончится, снова выберите команду Log Output…, чтобы закрыть файл (см. более подробно описание команды Log Output).
Range Ctrl+R
Используйте команду Solve из меню LINGO, или нажмите клавишу Ctrl+S, чтобы получить отчет о диапазонах чувствительности. Этот отчет показывает, в каких диапазонах вы можете 1) изменять коэффициенты в целевой функции, не изменяя полученных оптимальных значений переменных, 2) изменять коэффициенты в правых частях ограничений, не изменяя оптимальных значений двойственной цены или приведенных затрат. Нижеприведенный пример модели после решения сгенерирует отчет о диапазонах в виде, следующим за текстом модели.
MODEL:
1] MAX = 20 * A + 30 * C;
2] A <= 60;
3] C <= 50;
4] A + 2 * C <= 120;
END
Соответствующий отчет о диапазонах имеет вид:
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
CURRENT ALLOWABLE ALLOWABLE
VARIABLE COEF INCREASE DECREASE
A 20.000000 INFINITY 5.000000
C 30.000000 10.000000 30.000000
RIGHT-HAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 60.000000 60.000000 40.000000
3 50.000000 INFINITY 20.000000
4 120.000000 40.000000 60.000000
LINGO не рассматривает переменные с фиксированными значениями и выводит отчет о диапазонах только для варьируемых переменных.
Интерпретация этого отчета состоит в следующем:
Допустимое увеличение (или уменьшение) коэффициентов целевой функции (CURRENT COEFF) для каждой переменной есть величина, на которую коэффициенты могут увеличиваться или уменьшаться, не изменяя базу (то есть значения множества ненулевых элементов). Например, диапазон коэффициента в целевой функции у переменной A в данном примере составляет 15 — INFINITY (от 15 до бесконечности).
Допустимое увеличение или уменьшение правых частей в каждой строке равно величине, на которую правая часть может изменяться, не оказывая влияния на базовое решение. Например, допустимый диапазон в строке 2 в данном примере составляет 20–120.
Рассмотрим отчет, приведенный ниже, для той же модели, в которой неравенство “<=” в строке 2 заменим на равенство “=”.
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
CURRENT ALLOWABLE ALLOWABLE
VARIABLE COEF INCREASE DECREASE
C 30.000000 INFINITY 30.000000
RIGHT-HAND SIDE RANGES
CURRENT ALLOWABLE ALLOWABLE
ROW RHS INCREASE DECREASE
3 50.000000 INFINITY 20.000000
4 60.000000 40.000000 60.000000
Заметим, что переменная A в строке 2 больше не появляется отчете RANGE. Это обусловлено тем, что установили ей фиксированное значение в строке 2.
Если переменная появляется нелинейным образом в целевой функции, ее CURRENT COEFF (текущее значение коэффициента) будет в отчете отмечен как “NONLINEAR” (нелинейный). Если строка ограничения является нелинейной, ее текущее значение (CURRENT RHS) также будет в отчете отмечена как нелинейная (“NONLINEAR”).
Look… Ctrl+L
Используйте команду Look… из меню LINGO, или нажмите клавишу Ctrl+L, чтобы увидеть только выделенные строки модели.
Диалоговое окно LOOK позволяет выбрать один из вариантов: либо все (All), либо выделенные строки (Selected). Когда вы выбираете вариант Selected (выделенные), появляется возможность указать начальную и конечную строки. Вы должны при этом вводить целые числа (а не имена строк).
Lingo будет выводить на экран только строки с указанными номерами в окне отчета о формулировке модели (Model Formulation Report Window).
Generate… Ctrl+G
Используйте команду Generate из меню LINGO, или нажмите клавишу Ctrl+G для создания либо алгебраической версии модели, либо в формате LINDO или MPS-формате.
В диалоговом окне этой команды
§ Выберите опцию Algebraic (алгебраический), чтобы сгенерировать расширенную версию модели. То есть такую, в которой все операторы с множествами, такие как @FOR, будут развернуты из компактной формы языка LINGO в обычную запись, в которой показаны все имена переменных и ограничений.
§ Выберите опцию LINDO, чтобы сгенерировать версию модели, совместимую с программой LINDO.
§ Выберите опцию MPS, чтобы создать версию модели, совместимую с форматом MPS.
LINGO направит вывод в окно Generated Model Report Window (окно отчета генерации модели). Чтобы сохранить этот вывод в файле, просто сохраните содержимое окна отчета.
При создании версий в формате LINDO или формате MPS LINGO будет пытаться обрезать длинные имена до восьми символов. Если ваша переменная имеет слишком длинное имя, это может оказаться невозможным. В подобных случаях LINGO выдает сообщение об ошибке.
Замечание: Нелинейные модели не могут быть корректно преобразованы к формату LINDO или MPS.
ExportToDataBase… Ctrl+D
Используйте команду Exportto Database... из меню LINGO, или нажмите клавишу Ctrl+D, чтобы экспортировать выделенные переменные в именованные поля некоторой базы данных.
Дата добавления: 2015-11-16; просмотров: 57 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Команды LINGO | | | Создание источника пользовательских данных |