Skip to content
Solverytic.com
Интеллект для бизнеса
  • ⬩BI-анализ
    • ⬩ BI-анализ
    • ⬩ Дашборд руководителя
    • ⬩ Дистрибьюция
      • ⬩ Документация
    • ⬩ Маркетплейсы
    • ⬩ Фармацея
    • ⬩ Калькулятор стоимости
  • ⬩ОПТИМИЗАЦИЯ
    • ⬩ МАТЕМАТИЧЕСКАЯ ОПТИМИЗАЦИЯ
    • ⬩ AMPL
      • ⬩ О AMPL
      • ⬩ AMPL ПРОДУКТЫ
      • ⬩ AMPL IDE
      • ⬩ AMPL API
      • ⬩ FAQ
    • ⬩ SOLVERS
      • ⬩ О SOLVERS
      • ⬩ ВСЕ SOLVERS
      • ⬩ ПРОДАЖА SOLVERS
  • ⬩ОТРАСЛИ
  • ⬩КУПИТЬ
  • ⬩БЛОГ
  • ⬩Контакты

AMPL

  • Оглавление
  • Команды и настройки AMPL
    • Команды
      • Команды моделирования
      • Команды отображения
        • Другие функции отображения
        • Общие настройки управления выводом
        • display
          • Команда display
          • Параметры display
        • print
          • Команда print
        • printf
          • Команда printf
    • Настройки AMPL
      • Изменение данных
      • Модификация моделей
      • Настройка и решение моделей
      • Параметры
  • Столбчатые формулировки
    • Модель “черный ящик”
    • Модель планирования
    • Правила построения формулировки «по столбцам»
    • Формулировки по столбцам. Введение
  • Команды сценариев
    • Завершение цикла. Команда: break и continue
    • Запуск сценариев
    • Оператор перебора набора: for
    • Повторение действий в зависимости от условия. Оператор repeat.
    • Пошаговое выполнение сценария
    • Сценарии команд. Общие сведения.
    • Тестирование условия: оператор if-then-else
  • Сетевые линейные программы
    • Сетевые линейные программы
    • Транспортная модель
      • Общая формулировка
        • Модель кратчайшего пути
        • Модель максимизации потока
        • Модель максимизации потока
        • Модель назначения
        • Минимизация затрат
          • Естественная убыль. Различные единицы измерения грузов при транспортировке
          • Транспортная модель: минимизация затрат (общая модель)
          • Транспортная модель: минимизация затрат (специализированная модель)
      • Нотация: node и arc
        • Правила объявления node и arc
        • Минимизация затрат
          • Варианты моделей перевалки
          • Модель перевалки (специализированная)
          • Сетевая интерпретация модели перевалки (общая).
  • Кусочно-линейные формулировки
    • Min-Max и другие формулировки
    • Инвентированные события
    • Кусочно-линейные модели
    • Правила описания кусочно-линейных выражений
    • Работа с неосуществимостью
    • Штрафы – мягкие ограничения
  • Взаимодействие с моделями
    • Именованное окружение
    • Именованные проблемы
    • Переключение между моделями
  • Линейность и линеаризация выражений
    • Линейные выражения
  • Лексический состав AMPL
    • Зарезервированные и предопределенные имена
    • Общие имена
    • Синонимы ключевых слов и операторов
    • Токены AMPL
    • Функции
      • Библиотека расширенных функций
      • Встроенные функции
      • Строковые выражения в командах AMPL
      • Строковые функции и операторы
      • Функции округления
      • Функции пользователя
      • Функции случайных чисел
    • Выражения
      • Арифметические выражения
      • Логические выражения
      • Логические операторы
      • Логические операторы
      • Операторы арифметической редукции
      • Рекурсия
      • Стандартная форма записи выражений в AMPL
  • Объекты модели
    • Данные
      • Данные в списках
      • Общие правила работы с данными
      • Объявление данных
      • Чтение неформатированных данных
      • Двумерные таблицы и срезы
        • Двумерные таблицы и срезы
      • Базы данных
        • Доступ к базе данных
        • Запись данных в реляционные таблицы
        • Индексированные коллекции таблиц и столбцов, 2D таблица
        • Операторы обработки таблиц
        • Стандартные и встроенные обработчики таблиц
        • Чтение данных из реляционных таблиц
        • Чтение и запись одной и той же таблицы
      • Общие правила работы с данными
        • Другие особенности объявления данных
    • Целевая функция
      • Целевая функция
    • Результаты
      • Альтернативные решения
      • Связанные значения решения
    • Ограничения
      • Ограничения модели
    • Наборы
      • Выражения индексации наборов
      • Индексированные коллекции наборов
      • Интервалы
      • Классификация наборов
      • Место объявления элементов набора
      • Наборы длинных кортежей
      • Наборы упорядоченных пар
      • Наборы. Правила объявления наборов
      • Неупорядоченный набор символьных строк
      • Операции над наборами
      • Подмножества и кусочки упорядоченных пар
      • Предопределенные наборы
      • Размерность набора (Арность)
      • Упорядоченные наборы
      • Установление членства в наборе
      • Числовые наборы
      • Операции с наборами
        • Оператор setof
        • Операции с наборами кортежей
    • Параметры
      • Логические параметры
      • Объявление параметров
      • Ограничения параметров
      • Операции с параметрами
      • Параметр в индексном выражении
      • Разряженные параметры
      • Расчет параметров
      • Символьные параметры
      • Случайно сгенерированные параметры
    • Переменные
      • Действия c переменными
      • Начальные значения переменных
      • Объявление переменных
      • Ограничение переменных
  • Решатели
    • Взаимодействие с решателями
      • Обмен информацией с решателями с помощью суффиксов
      • Получение результатов от решателей
      • Фаза предварительного решения: presolve

Distribution

  • Консоль
    • Страница “ГЛАВНАЯ”
    • Страница “ММЛ / МТ”
    • Страница “ОВП граф.”
    • Страница “ОВП граф.+”
    • Страница “ОВП табл.”
    • Страница “Рейтинги”
    • Страница “Сравнения”
    • Страница «Акции: показатели»
    • Страница «Акции: Скидки»
    • Страница «Акции: Эффективность»
    • Страница «Анализ: ABC-XYZ»
    • Страница «Анализ: Что-Если»
    • Страница «Бенчмаркинг цен»
    • Страница «План/Факт»
    • Страница «Факторный анализ»

Именованное окружение

Определение и использование именованного окружения

Точно так же, как существует текущая проблема в любой точке сеанса AMPL, также существует текущее окружение environment. В то время как проблема включает в себя список нефиксированных переменных и невыбранных целей и ограничений, окружение записывает значения всех параметров AMPL. Присваивая имена различным средам, скрипт может легко переключаться между различными наборами настроек параметров.
В режиме работы по умолчанию, текущая среда всегда имеет то же имя, что и текущая проблема. В начале сеанса AMPL текущая среда называется Initial, и каждый последующий оператор problem, который определяет новую именованную проблему, также определяет новое окружение, имеющее то же имя, что и проблема. Окружение изначально наследует все настройки параметров, которые существовали при ее создании. Вновь созданное окружение сохраняет дополнительные настройки, которые используются пока она актуальна.
Любое problem или solve, которое изменяет текущую проблему, также переключается на соответственно названную среду с соответствующими параметрами.
В качестве примера, скрипт для проблемы раскроя устанавливает модель и данные, а затем выполняет нужные действия:

option solver cplex, solution_round 6;
option display_1col 0, display_transpose -10;
problem Cutting_Opt: Cut, Number, Fill;
option relax_integrality 1;
problem Pattern_Gen: Use, Reduced_Cost, Width_Limit;
option relax_integrality 0;

Опции solver и три других изменяются (с помощью первых двух операторов option) перед любым оператором problem. Следовательно, их новые настройки наследуются и остаются неизменными в дальнейшей части сценария. При определении новой проблемы и новой среды с именем Cutting_Opt, они становятся актуальными. Последующие изменения опции relax_integrality в 1 . После этого, когда Cutting_Opt будет являться текущей проблемой (и средой) в сценарии, relax_integrality будет иметь значение 1. Другой оператор problem и option делают то же самое для проблемы (и среды) Pattern_Gen, за исключением того, что значение параметра relax_integrality равно 0 для этой среды.

Результатом этих первоначальных операторов является обеспечение правильной настройки для каждого из последующих операторов solve в цикле повтора. Результатом решения Cutting_Opt является установка текущей среды в Cutting_Opt, тем самым устанавливая relax_integrality в 1 и вызывая линейное ослабление задачи оптимизации резки.
Точно так же, результатом решения Pattern_Gen является решение проблемы генерации шаблона в виде целочисленной программы. Вместо этого, мы могли бы использовать операторы option в цикле, чтобы переключать настройку relax_integrality, но при таком подходе мы сохранили цикл - ключевую часть сценария - настолько простым, насколько это возможно.
В более сложных ситуациях можно объявить именованные среды независимо от именованных проблем, используя оператор, который состоит из ключевого слова environment, за которым следует имя:

environ Master;

Окружение имеет свое собственное пространство имен. Если имя ранее не использовалось в качестве имени окружения, тогда оно связывается со всеми текущими значениями параметров. В противном случае оператор устанавливает значения параметров в соответствии с настройками этой среды. Ранее объявленная среда также может быть связана с новой именованной проблемой. Помещая environ и имя среды перед двоеточием в операторе problem:

problem MasterII environ Master: ...

Именованная среда автоматически становится текущей, когда связанная с ней проблема становится актуальной. Обычное создание среды с тем же именем, что и проблема, в этом случае отменяется.
Удалено: Индексированная коллекция сред может быть объявлена в операторе environ, поместив индексное выражение AMPL после имени среды. Затем имя «подписывается» обычным способом для обозначения отдельных сред.
Именованные среды обрабатывают изменения так же, как и именованные проблемы. Если значение параметра изменяется, когда какая-то конкретная среда является текущей, записывается новое значение, и это значение будет восстанавливаться всякий раз, когда эта среда снова станет текущей.

environ, Окружение
Каковы ваши чувства?
Поделитесь этой статьёй:
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
Оглавление
  • Определение и использование именованного окружения
Solverytic.com
  • Аналитика для маркетплейсов в Power BI
  • Аналитика для сети аптек и фармации в Power BI
  • Дашборд для руководителя
  • Аналитика для дистрибьюции/ритейла в power BI
  • Калькулятор онлайн стоимости BI-решения
  • Математическая оптимизация
  • Блог
  • Контакты
Solverytic.com - является официальным партнером AMPL Optimization Inc. и Microsoft
© 2023 Solverytic.com. Все права защищены. Политика конфиденциальности
Minsk, Belarus
(+375) 29 613-13-68
mail@solverytic.com