Программирование линейных алгоритмов на языке программирования паскаль

Это представление задач CRAN содержит список пакетов. Которые предлагают средства для решения задач оптимизации. Хотя каждая регрессионная модель в статистике решает задачу оптимизации. Они не являются частью этого представления. Если вы ищете методы регрессии. То следующие представления будут содержать полезные отправные точки: Многомерные, социальные, Робастные и другие. Основное внимание в этом представлении задач уделяется Оптимизационным инфраструктурным пакетам , непрерывным решателям общего назначения, Решатели математического программирования и Конкретные приложения в оптимизации или Многозадачной оптимизации . Пакеты классифицируются в соответствии с этими разделами.

Многие пакеты предоставляют функциональные возможности для более чем одного из субъектов. Перечисленных в конце этого представления задач. Например, смешанные решатели линейного программирования обычно предлагают стандартные процедуры линейного программирования. Такие как симплексный алгоритм. Поэтому после каждого описания пакета список сокращений описывает типичные особенности оптимизатора (т. е. проблемы. Которые могут быть решены). Полные названия аббревиатур. Приведенных в квадратных скобках. Можно найти в конце этого вида задания при

классификации по предмету .

Если вы думаете. Что какой-то пакет отсутствует в списке. Пожалуйста. Сообщите нам об этом.

  • Пакет optimx обеспечивает замену и расширение функции optim() в базе R с вызовом нескольких кодов минимизации функций в R в одном операторе. Эти методы обрабатывают гладкие, возможно. Ограниченные коробкой функции нескольких или многих параметров. Функция optimr() в этом пакете расширяет функцию optim() с тем же синтаксисом. Но с большим выбором Функция opm() применяет несколько решателей к выбранной задаче оптимизации и возвращает фрейм данных результатов для удобства сравнения.

  • Пакет R Optimization Infrastructure (ROI) обеспечивает основу для обработки задач оптимизации в R. Он использует объектно-ориентированный подход для определения и решения различных задач оптимизации из различных классов задач (например, линейных. Квадратичных. Нелинейных задач программирования). Это делает оптимизацию прозрачной для пользователя. Поскольку соответствующий рабочий процесс абстрагируется от базового решателя. Подход позволяет легко переключаться между решателями и. Таким образом. Повышает сопоставимость.

    Для получения дополнительной информации см. Домашняя страница ROI .

  • Пакет CVXR предоставляет объектно-ориентированный язык моделирования для дисциплинированного выпуклого программирования (DCP). Он позволяет пользователю естественным образом формулировать выпуклые задачи оптимизации. Следуя математическим правилам и правилам DCP. Система анализирует проблему. Проверяет ее выпуклость. Преобразует ее в каноническую форму и передает ее соответствующему решателю. Такому как ECOS или SCS. Чтобы получить решение. (CVXR является производным от MATLAB toolbox CVX. Разработанного в Стэнфордском университете, см.

    CVXR домашняя страница .)

Статистика пакетов предлагает несколько подпрограмм оптимизации общего назначения. Для одномерной оптимизации неограниченной функции есть optimize (), который ищет интервал для минимума или максимума. Функция optim() обеспечивает реализацию метода Бройдена-Флетчера-Гольдфарба-Шанно (BFGS). Ограниченного BFGS. Сопряженного градиента (CG). Нельдера-Мида и методов оптимизации имитационного отжига (SANN). Он использует градиенты. Если они предусмотрены. Для более быстрой конвергенции. Обычно он используется для неограниченной оптимизации. Но включает в себя опцию для коробочной ограниченной оптимизации.

Кроме того, для минимизации функции. Подверженной ограничениям линейного неравенства. Stats содержит процедуру constrOptim(). Затем существует nlm, который используется для решения нелинейных задач неограниченной минимизации. nlminb() предлагает ограниченную рамками оптимизацию с использованием процедур ПОРТА. [RGA, QN]

  • Пакет lbfgs обертывает библиотеку libBFGS C Окадзаки и Моралеса (преобразованную из кода Fortran L-BFGS-B 3.0 Nocedal). Взаимодействуя как с L-BFGS. Так и с алгоритмом OWL-QN. Причем последний особенно подходит для задач более высокой размерности.

  • lbfgsb3c взаимодействует с кодом Фортрана J. Nocedal L-BFGS-B 3.0, минимизатором BFGS с ограниченной памятью. Допускающим связанные ограничения и применимым к задачам более высокой размерности. Он имеет
  • Пакет roptim предоставляет унифицированную оболочку для вызова C++ функций алгоритмов. Лежащих в основе решателя optim (); а optimParallel предоставляет параллельную версию метода optim () L-BFGS-B; использование этих пакетов позволяет значительно сократить время оптимизации.
  • RcppNumerical-это набор библиотек с открытым исходным кодом для численных вычислений и их интеграции с Rcpp. Он обеспечивает оболочку для алгоритма L-BFGS. Основанного на библиотеке LBFGS++ (на основе кода Н. Окадзаки).
  • Пакет ucminf реализует алгоритм квази-ньютоновского типа для нелинейной неограниченной оптимизации. Сочетая область доверия с подходами линейного поиска. Интерфейс ucminf() предназначен для легкого обмена с optim().[QN]
  • Следующие пакеты реализуют процедуры оптимизации в чистом R для нелинейных функций с ограничениями границ: Rcgmin: минимизация градиентной функции. Аналогичная GC; Rvmmin: минимизация переменной метрической функции; Rtnmin: минимизация усеченной функции Ньютона.
  • mize реализует алгоритмы оптимизации в чистом R. Включая методы сопряженного градиента (CG). Бройдена-Флетчера-Голдфарба-Шанно (BFGS) и ограниченной памяти BFGS (L-BFGS). Большинство внутренних параметров можно задать через вызывающий интерфейс.
  • nonneg.cg реализует метод сопряженного градиента для минимизации функций при условии. Что все переменные неотрицательны.
  • Пакет dfoptimдля процедур оптимизации без производных содержит довольно эффективные R-реализации алгоритмов Нельдера-Мида и Гука-Дживса (неограниченные и с ограничениями границ). [DF]
  • Пакет nloptr предоставляет доступ к NLopt. Лицензионной библиотеке LGPL различных алгоритмов нелинейной оптимизации. Она включает в себя методы без локальных производных (COBYLA. Nelder-Mead. Subplex) и градиентные (например. BFGS) методы. А также дополненный лагранжев подход для нелинейных ограничений. [DF, GO, QN]
  • Пакет alabama предоставляет реализацию расширенного алгоритма минимизации барьера Лагранжа для оптимизации гладких нелинейных целевых функций с (нелинейными) ограничениями равенства и неравенства.
  • Пакет Rsolnp обеспечивает реализацию расширенного метода множителя Лагранжа для решения нелинейных оптимизационных задач с ограничениями равенства и неравенства (на основе кода Y. Ye).
  • NlcOptim решает задачи нелинейной оптимизации с линейными и нелинейными ограничениями равенства и неравенства. Реализуя метод последовательного квадратичного программирования (SQP); принимает входные параметры в виде ограниченной матрицы.
  • В пакете Rdonlp2 (см. проект rmetrics) функция donlp2(), оболочка для решателя DONLP2, предлагает минимизацию гладких нелинейных функций и ограничений. DONLP2 может свободно использоваться для любых исследовательских целей. В противном случае он требует лицензирования. [ВПЕРЕД, НЛП]
  • psqn предоставляет квази-ньютоновские методы минимизации частично разделимых функций; эти методы в основном описаны в
  • ключ содержит функцию sumt() для решения задач ограниченной оптимизации с помощью метода последовательной неограниченной минимизации (SUMT).
  • BB содержит функцию spg (), обеспечивающую метод спектрального проецируемого градиента для крупномасштабной оптимизации с простыми ограничениями. Он принимает нелинейную целевую функцию в качестве аргумента. А также основные ограничения.
  • Пакет SCOR решает оптимизационные задачи в условиях ограничения. Что объединенные параметры лежат на поверхности единичной гиперсферы.
  • GrassmannOptim-это пакет для оптимизации многообразий Грассмана. Реализация использует градиентные алгоритмы и внедряет стохастический градиентный метод для глобального поиска.
  • ManifoldOptim-это R-интерфейс к библиотеке оптимизации ‘ROPTLIB’. Он оптимизирует вещественные функции над многообразиями. Такими как Штифель. Грассман и симметричные положительно определенные матрицы.
  • Пакет gsl предоставляет алгоритмы BFGS. Сопряженного градиента. Крутого спуска и Нельдера-Мида. Он использует подход multimin(). Она основана на Научной библиотеке GNU (GSL). [RGA, QN]
  • R-порт модуля Scilab neldermead упакован в neldermead, предлагающий несколько алгоритмов прямого поиска. Основанных на симплексном подходе. А n1qn1 предоставляет R-порт процедуры оптимизации n1qn1 в Scilab. Квазиньютоновском методе BFGS без ограничений.
  • optimsimplex предоставляет строительные блоки для симплексных алгоритмов оптимизации. Таких как Nelder-Mead, Spendley. Box method или многомерный поиск по Torczon и т. Д.
  • Несколько алгоритмов оптимизации без производных обеспечены пакетом minqa; например. Функции bobyqa(), newuoa ()и uobyqa() позволяют минимизировать функцию многих переменных методом доверительной области . Который формирует квадратичные модели интерполяцией. bobyqa() дополнительно допускает ограничения (границы) на параметры. [DF]
  • субплекс обеспечивает неограниченную оптимизацию функций на основе симплексного метода поиска подпространства.
  • В доверии пакетовпроцедура с тем же именем предлагает локальную оптимизацию . Основанную на подходе
  • trustOptim реализует алгоритм Алгоритм оптимизирован для целевых функций с разреженными гессианами. Это делает алгоритм очень масштабируемым и эффективным как с точки зрения времени. Так и с точки зрения объема памяти.
  • Пакет quantreg содержит вариации симплексных и внутренних точечных процедур ( nlrq(), crq ()). Он предоставляет интерфейс для регрессии L1 в коде R функции rq(). [SPLP, LP, IPM]

Квадратичная Оптимизация

  • В пакете quadprog solve.QP() решает задачи квадратичного программирования с линейными ограничениями равенства и неравенства. (Матрица должна быть положительно определенной.) quadprogXT расширяет это с помощью ограничений абсолютных значений и абсолютных значений в целевой функции. [QP]
  • osqp обеспечивает привязки к OSQP , решателю [QP]
  • qpmadr взаимодействует с программным обеспечением qpmad и решает задачи квадратичного программирования (QP) с линейным неравенством. Равенством и связанными ограничениями. Используя метод Гольдфарба и Иднани.[QP]
  • kernlab содержит функцию ipop для решения задач квадратичного программирования с использованием методов внутренних точек. (Матрица может быть положительной полуопределенной.) [IPM, QP]
  • Дикстра решает задачи квадратичного программирования. Используя алгоритм циклической проекции Р. Л. Дикстры для положительно определенных и полуопределенных матриц. Рутина допускает сочетание ограничений равенства и неравенства. [QP]
  • coneproj содержит процедуры для проекции конуса и квадратичного программирования. Оценки и вывода для ограниченной параметрической регрессии и задач регрессии с ограниченной формой. [QP]
  • LowRankQP primal/dual interior point method решение задач квадратичного программирования (особенно для полуопределенных квадратичных форм). [IPM, QP]
  • МОНЕТА ИЛИ проект ROI.plugin.qpoases делает его доступным для пользователей R. [QP]
  • QPmin является активным решателем метода множеств для решения неопределенных квадратичных программ с учетом нижних границ линейных функций переменных. [QP]
  • mixsqp реализует алгоритм
  • limSolve предлагает решать линейные или квадратичные оптимизационные функции с учетом ограничений равенства и/или неравенства. [LP, QP]

Оптимизационные Тестовые функции

  • Целевые функции для бенчмаркинга производительности алгоритмов глобальной оптимизации можно найти в globalOptTests.
  • smoof имеет генераторы для ряда как одно -. Так и многоцелевых тестовых функций. Которые часто используются для бенчмаркинга алгоритмов оптимизации; предлагает набор удобных функций для генерации. Построения графиков и работы с целевыми функциями.
  • flacco содержит инструменты и функции. Используемые для Исследовательского ландшафтного анализа (ELA) задач непрерывной оптимизации. Способные количественно определять довольно сложные свойства оптимизационных задач. Такие как глобальная структура. Сепарабельность и т. Д.
  • cec2013 и
  • Пакет funconstrain (на Github) реализует 35 тестовых функций от More. Garbow и Hillstom. Полезных для тестирования неограниченных методов оптимизации.

Задачи наименьших квадратов

Функция solve.qr() (resp. qr.solve()) обрабатывает сверх — и недетерминированные системы линейных уравнений. Возвращая решения наименьших квадратов. Если это возможно. А пакет stats предоставляет nls() для определения оценок наименьших квадратов параметров нелинейной модели. nls2 усиливает функцию nls() с помощью грубой силы или поиска на основе сетки. Чтобы избежать зависимости от начальных параметров или застревания в локальных решениях.

  • Пакет nlsr предоставляет инструменты для работы с нелинейными задачами наименьших квадратов. Функции nlfb и nlxb предназначены для того. Чтобы в конечном итоге заменить функцию ‘nls()’ в базе R. Применяя вариант процедуры Марквардта для нелинейных наименьших квадратов с ограничениями границ и. Возможно, якобианом. Описываемым как R-функции. (Он основан на ныне устаревшем пакете nlmrt.)
  • Пакет minpack.lm предоставляет функцию nls.lm() для решения нелинейных задач наименьших квадратов с помощью модификации алгоритма Левенберга-Марквардта с поддержкой нижних и верхних границ параметров. Как это найдено в MINPACK.
  • Пакет nnls взаимодействует с реализацией алгоритма Лоусона-Хансона для неотрицательных наименьших квадратов. Позволяя сочетать неотрицательные и неположительные ограничения.
  • Пакет bvls взаимодействует с реализацией Старка-Паркера алгоритма наименьших квадратов с верхними и нижними ограниченными переменными.
  • Пакет onls реализует ортогональную нелинейную регрессию наименьших квадратов (ONLS, a.k.a. Orthogonal Distance Regression. ODR) с использованием алгоритма минимизации типа Левенберга-Марквардта. Основанного на библиотеке ODRPACK Fortran.
  • colf выполняет ограниченную оптимизацию по методу наименьших квадратов для линейной целевой функции. Он содержит ряд алгоритмов на выбор и предлагает синтаксис формулы. Похожий на lm().

Полуопределенные и выпуклые решатели

  • Пакет ECOSolveR предоставляет интерфейс к встроенному коническому решателю (ECOS). Хорошо известной. Эффективной и надежной библиотеке C для выпуклых задач. В дополнение к целочисленным и булевым переменным ограничениям для смешанных целочисленных задач могут быть заданы конические ограничения и ограничения равенства.
  • Пакет scs применяет разделение операторов для решения линейных программ (LPs). Конусных программ второго порядка (SOC). Полуопределенных программ (SDPs). Экспоненциальных конусных программ (ECPs) и силовых конусных программ (PCPs) или задач с любой комбинацией этих конусов.
  • sdpt3r решает общие задачи полуопределенного линейного программирования. Используя R-реализацию MATLAB toolbox SDPT3. Включает в себя такие задачи. Как ближайшая корреляционная матрица. D-оптимальная экспериментальная конструкция. Взвешенная по расстоянию дискриминация или задача максимального разреза.
  • cccp содержит процедуры для решения конусных ограниченных выпуклых задач с помощью методов внутренней точки. Реализованные алгоритмы частично портированы из CVXOPT. Модуля Python для выпуклой оптимизации
  • Пакет CLSOCP обеспечивает реализацию одношагового сглаживающего метода Ньютона для решения задач конусного программирования второго порядка (SOC).
  • CSDP-это библиотека подпрограмм. Реализующая первично-двойной барьерный метод для решения полуопределенных задач программирования; он взаимодействует в пакете Rcsdp. [ДПС]
  • Библиотека DSDP реализует метод внутренней точки для полуопределенного программирования с первичными и двойственными решениями; она взаимодействует в пакете Rdsdp. [ДПС]
  • Пакет Rmosek предоставляет интерфейс к (коммерческой) библиотеке оптимизации MOSEK для крупномасштабных задач LP. QP и MIP с акцентом на (нелинейные) конические. Полуопределенные и выпуклые задачи; имеются академические лицензии. (Статья о Rmosek появилась в специальном выпуске JSS по оптимизации с R. См. ниже.) [СДП, КП]

Глобальная и стохастическая оптимизация

  • Пакет DEoptim предоставляет глобальный оптимизатор. Основанный на алгоритме дифференциальной эволюции. RcppDE предоставляет реализацию на C++ (с использованием Rcpp) той же функции DEoptim ().
  • DEoptimR обеспечивает реализацию варианта jDE стохастического алгоритма дифференциальной эволюции для задач нелинейного программирования (он позволяет гибко обрабатывать ограничения.)
  • Пакет CEoptim реализует метод кросс-энтропийной оптимизации. Который может быть применен к непрерывным. Дискретным. Смешанным и ограниченным задачам оптимизации. [ПОЛИЦЕЙСКИЙ]
  • GenSA-это пакет. Предоставляющий функцию для обобщенного имитационного отжига. Которая может быть использована для поиска глобального минимума довольно сложной нелинейной целевой функции с большим числом оптимумов.
  • ГА предоставляет функции для оптимизации с использованием генетических алгоритмов как в непрерывном. Так и в дискретном случае. Этот пакет позволяет параллельно выполнять соответствующие оптимизационные задачи.
  • Пакет genalg содержит rbga(), реализацию генетического алгоритма для оптимизации многомерных функций.
  • Пакет rgenoud предлагает genoud(), процедуру. Которая способна решать сложные задачи минимизации/максимизации функций путем объединения эволюционных алгоритмов с производным (квазиньютоновским) подходом.
  • Пакет Jaya предоставляет реализацию алгоритма Jaya. Эвристического алгоритма на основе популяции. Который многократно модифицирует популяцию. Рассматривая лучшие и худшие решения.
  • Машинно-кодированный генетический алгоритм (MCGA). Предоставляемый пакетом mcga, представляет собой инструмент. Решающий оптимизационные задачи на основе байтового представления переменных.
  • Оптимизатор роя частиц (PSO) реализован в пакете pso, а также в psoptim. Другую (распараллеленную) реализацию алгоритма PSO можно найти в пакете ppso, доступном по адресу rforge.net/ppso .
  • Пакет hydroPSO реализует стандартный алгоритм оптимизации роя частиц (SPSO); он способен работать параллельно и включает в себя несколько вариантов тонкой настройки и функций постобработки.
  • hydromad (на Github) содержит функцию SCEoptim для оптимизации Shuffled Compex Evolution (SCE). Эволюционный алгоритм. Объединенный с симплексным методом.
  • Пакет ABCoptim реализует подход оптимизации Искусственной пчелиной колонии (ABC).
  • Пакет metaheuristicOpt содержит реализации нескольких эволюционных алгоритмов оптимизации. Таких как particle swarm. Dragonfly и firefly. Алгоритмы синус-косинуса и многие другие.
  • Пакет ecr обеспечивает основу для построения эволюционных алгоритмов для одно — и многоцелевых задач непрерывной или дискретной оптимизации. А у emoa есть набор строительных блоков для разработки и анализа эволюционных мультиобъективных алгоритмов оптимизации.
  • CMA-ES by N. Hansen. Глобальная процедура оптимизации с использованием ковариационной матрицы. Адаптирующей эволюционную стратегию. Реализована в нескольких пакетах: В пакетах cmaes и cmaesr, в parma как cmaes, в adagio как pureCMAESи в rCMA как cmaOptimDP, взаимодействуя с собственной Java-реализацией Хансена.
  • Пакет Rmalschains реализует семейство алгоритмов непрерывной оптимизации. Называемых меметическими алгоритмами с локальными поисковыми цепочками (MA-LS-Chains).
  • Реализация R Самоорганизующегося алгоритма миграции (SOMA) доступна в пакете soma. Этот метод стохастической оптимизации несколько похож на генетические алгоритмы.
  • nloptr поддерживает несколько программ глобальной оптимизации. Таких как ПРЯМОЙ. Управляемый случайный поиск (CRS). Многоуровневая однозвенная связь (MLSL). Улучшенное стохастическое ранжирование (ISR-ES) или стохастическая глобальная оптимизация (StoGO).
  • Пакет NMOF обеспечивает реализацию дифференциальной эволюции. Оптимизации роя частиц. Локального поиска и порогового приема (вариант имитационного отжига). Последние два метода также работают для задач дискретной оптимизации. Как и реализация генетического алгоритма. Входящего в пакет.
  • SACOBRA-это пакет для численной ограниченной оптимизации дорогостоящих функций черного ящика при строго ограниченных бюджетах; он реализует расширение алгоритма COBRA с начальной генерацией дизайна и самонастраивающимися случайными перезапусками.
  • OOR реализует оптимистические методы оптимизации для глобальной оптимизации детерминированных или стохастических функций.
  • RCEIM реализует стохастический эвристический метод оптимизации многомерных функций.

В этом разделе представлен обзор открытых исходных текстов. А также коммерческих оптимизаторов. Какой тип задачи математического программирования может быть решен с помощью определенного пакета или функции. Видно из сокращений в квадратных скобках. Для классификации по теме см. список в конце этого представления задачи.

  • Пакет ompr-это оптимизационный пакет моделирования для моделирования и решения Смешанных целочисленных линейных программ алгебраическим способом непосредственно в R. Модели не зависят от решателя и. Таким образом. Дают возможность решать модели с различными решателями. (Вдохновленный проектом Джулии
  • linprog решает задачи линейного программирования с помощью функции solveLP() (решатель основан на lpSolve) и может считывать файлы моделей в формате MPS. [LP]
  • В загрузочном пакете есть процедура simplex (), которая реализует двухфазный симплексный метод tableau для (относительно небольших) задач линейного программирования. [LP]
  • rcdd предлагает функцию lpcdd() для решения линейных программ с точной арифметикой с использованием библиотеки GNU Multiple Precision (GMP). [LP]
  • Сервер NEOS для оптимизации обеспечивает онлайн — доступ к самым современным решателям оптимизационных задач. Пакеты rneos и ROI.plugin.neos позволяют пользователю передавать оптимизационные задачи в NEOS и получать результаты внутри R.

Интерфейсы для оптимизаторов с открытым исходным кодом

  • Пакет clpAPI обеспечивает высокоуровневый доступ от R к низкоуровневым API-подпрограммам библиотеки COIN ИЛИ Clp solver. [LP]
  • Пакет lpSolve содержит процедуру lp() для решения LPS и MILPs путем вызова свободно доступного решателя lp_solve . Этот решатель основан на пересмотренном симплексном методе и подходе ветвления и привязки (B&B). Он поддерживает полунепрерывные переменные и специальные упорядоченные наборы (SOS). Кроме того, lp.assign() и lp.transport() направлены на решение задач назначения и транспортных задач соответственно. Кроме того, существует пакет lpSolveAPI который предоставляет R-интерфейс для низкоуровневых API-подпрограмм lp_solve (см. Также проект lpsolve на R-Forge). lpSolveAPI поддерживает чтение линейных программ из файлов в форматах lp и MPS. [BP, IP. LPILP, SPLP]
  • Пакеты glpkAPI, а также пакет Rglpk предоставляют интерфейс к GNU Linear Programming Kit (GLPK). В то время как первый обеспечивает высокоуровневый доступ к низкоуровневым процедурам. Последний предлагает высокоуровневую процедуру Rglpk_solve_LP() для решения MILPs с помощью GLPK. Оба пакета предлагают возможность использовать модели. Сформулированные в формате MPS. [BP, IP, IPM. LPILP]
  • Rsymphony имеет подпрограмму Rsymphony_solve_LP (), которая взаимодействует с SYMPHONY solver для смешанных целочисленных линейных программ. (SYMPHONY является частью проекта Computational Infrastructure for Operations Research (COIN-OR).) Пакет lpsymphony в Bioconductor предоставляет аналогичный интерфейс SYMPHONY. Который проще установить. [LP, IP, MILP]
  • Решатель NOMAD реализован в пакете crs для решения задач смешанного целочисленного программирования. Этот алгоритм доступен через функцию snomadr() и в первую очередь предназначен для ограниченной оптимизации функций blackbox. [МИЛП]
  • ROI.plugin.clp. rcbc (на Github). [LP, MILP]

Интерфейсы к Коммерческим оптимизаторам

В этом разделе рассматриваются интерфейсы для коммерческих решателей. Как правило. Соответствующие библиотеки должны быть установлены отдельно.

  • Пакеты cplexAPI и Rcplex предоставляют интерфейсы оптимизатору IBM CPLEX . CPLEX предоставляет двойные/первичные симплексные оптимизаторы. А также оптимизатор барьера для решения крупномасштабных линейных и квадратичных программ. Он предлагает смешанный целочисленный оптимизатор для решения сложных смешанных целочисленных программ. Включая (возможно. Невыпуклые) MIQCP. Обратите внимание. Что CPLEX не является бесплатным и вы должны получить лицензию. Академики получат бесплатную лицензию по запросу. [LP, IP, BP. QPILP, MIQP, IPM]
  • Пакет Rmosek предлагает интерфейс к коммерческому оптимизатору от MOSEK . Он обеспечивает двойные/первичные симплексные оптимизаторы. А также оптимизатор барьера. В дополнение к решению задач LP и QP этот решатель может обрабатывать задачи SOCP и квадратично ограниченного программирования (QPQC). Кроме того, он предлагает смешанный целочисленный оптимизатор для решения сложных смешанных целочисленных программ (MILP. MISOCP и т. Д.). Вы должны получить лицензию. Но академические лицензии бесплатны. [LP, IP, BP. QPILP, MIQP, IPM]
  • Gurobi Optimization выпускает R-привязку с момента выпуска версии 5.0, которая позволяет решать модели LP. MIP. QPIQP, SOCP и MISOCP изнутри R. Более подробную информацию смотрите на веб-сайте R with Gurobi. [LP. QPILP, MIQP]
  • Пакет localsolver предоставляет интерфейс к гибридному программному обеспечению математического программирования LocalSolver от Innovation 24. LocalSolver-это коммерческий продукт, академические лицензии предоставляются по запросу. [LP, MIP, QP, NLP, HEUR]
  • Пакет adagio предоставляет функции R для одиночных и множественных задач рюкзака. А также решает задачи суммирования подмножеств и назначения.
  • В пакете clue solve_LSAP() позволяет пользователю решить задачу назначения линейной суммы (LSAP). Используя эффективную реализацию венгерского алгоритма на языке Си. [SPLP]
  • FLSSS предоставляет многопоточные решатели для одномерных и многомерных задач суммы подмножеств фиксированного размера с дополнительными ограничениями на целевую сумму и диапазон элементов. Одномерных и многомерных задач рюкзака фиксированного размера. Двоичных задач рюкзака и обобщенных задач назначения с помощью точных алгоритмов или метаэвристик.
  • Пакет qap решает задачи квадратичного назначения (QAP). Применяя эвристику имитированного отжига (далее последуют другие подходы).
  • igraph, пакет для графического и сетевого анализа. Использует очень быструю библиотеку igraph C. Он может быть использован для расчета кратчайших путей. Максимальных сетевых потоков. Минимальных остовных деревьев и т. Д. [ГРАФ]
  • mknapsack решает несколько проблем рюкзаков. Основанных на LP-решателях, таких как
  • Пакет optimist) содержит процедуры из книги Мартелло и Тота Существуют функции для (множественных) задач рюкзака. Суммы подмножеств и бинпаковки. (Использование кодов Fortran ограничено только личными исследовательскими и академическими целями.)
  • нильде предоставляет процедуры для перечисления всех целочисленных решений линейных диофантовых уравнений. Соотв. все решения задач ранца. Суммы подмножеств и аддитивного разбиения (основанные на подходе порождающих функций).
  • matchingR и matchingMarkets реализуют алгоритм Гейла-Шепли для стабильного брака и проблемы приема в колледж. Стабильных соседей по комнате и проблемы распределения жилья. [КОП, ММ]
  • Пакет optmatch предоставляет процедуры для решения задач согласования путем перевода их в задачи потока с минимальными затратами. А затем оптимально решается с помощью кодов RELAX-IV Берцекаса и Цзэна (бесплатно для исследований). [СПЛП]
  • Пакет TSP обеспечивает базовую инфраструктуру для обработки и решения проблемы коммивояжера (TSP). Основная подпрограмма solve_TSP() решает TSP с помощью нескольких эвристик. Кроме того, он предоставляет интерфейс к решателю Concorde TSP Solver , который необходимо загрузить отдельно. [СПЛП]
  • rminizinc предоставляет интерфейс к языку моделирования ограничений с открытым исходным кодом и системе (которая будет загружена отдельно) MiniZinc . Пользователи R могут применять пакет для решения задач комбинаторной оптимизации. Модифицируя существующие модели MiniZinc. А также создавая свои собственные модели.
  • Функция Карамель в упаковке Карамель является многокритериальным оптимизатором. Применяющим комбинацию многокритериального эволюционного отжига-симплексного метода (МЭС) и генетического алгоритма сортировки без доминирования (NGSA-II); первоначально он был разработан для калибровки гидрологических моделей.
  • Многокритериальные задачи оптимизации могут быть решены с помощью пакета mco, реализующего генетические алгоритмы. [ШВАБРА]
  • GPareto предоставляет многоцелевые алгоритмы оптимизации для дорогих функций черного ящика и методов количественной оценки неопределенности.
  • Пакет rmoo — это фреймворк для многокритериальной и многоцелевой оптимизации. Позволяющий работать с представлением вещественных чисел. Перестановок и двоичных файлов. Предлагая широкий спектр конфигураций.
  • Алгоритм клонирования данных представляет собой глобальный оптимизационный подход и вариант имитационного отжига. Реализованный в пакете dclone. Пакет предоставляет низкоуровневые функции для реализации процедур оценки максимального правдоподобия сложных моделей.
  • В пакете irace реализуются процедуры автоматической настройки параметров других алгоритмов оптимизации. То есть (автономная) настройка их параметров путем поиска наиболее подходящих параметров при заданном наборе задач оптимизации.
  • Пакет kofnGA использует генетический алгоритм для выбора подмножества фиксированного размера k из целых чисел 1:n. Так что поставляемая пользователем целевая функция минимизируется в этом подмножестве.
  • copulaedas предоставляет платформу. На которой могут быть реализованы и изучены
  • tabuSearch реализует алгоритм поиска табу для оптимизации двоичных строк. Максимизации определенной пользователем целевой функции и возвращает наилучшую (т. е. максимизирующую) найденную двоичную конфигурацию.
  • Помимо функциональности для решения общих задач изотонной регрессии. Пакет isotone предоставляет основу методов активного множества для задач изотонной оптимизации с ограничениями произвольного порядка.
  • mlrMBO-это гибкий и всеобъемлющий набор инструментов R для модельной оптимизации (А rBayesianOptimization-это реализация байесовской глобальной оптимизации с гауссовскими процессами. Для настройки параметров и оптимизации гиперпараметров.
  • Набор инструментов Sequential Parameter Optimization Toolbox SPOT предоставляет набор инструментов для модельной оптимизации и настройки алгоритмов. Она включает в себя суррогатные модели и проектирование экспериментальных подходов.
  • Пакет желательности содержит классы S3 для многомерной оптимизации с использованием подхода функции желательности Харрингтона (1965).
  • maxLik добавляет слой. Специфичный для вероятности. Поверх ряда процедур максимизации. Таких как Brendt-Hall-Hall-Hausman (BHHH) и Newton-Raphson среди других. Он включает в себя сводные и печатные методы. Которые извлекают стандартные ошибки на основе матрицы Гессиана и позволяют легко менять местами алгоритмы максимизации.

Ниже приводится попытка дать краткий обзор пакетов по темам. Полное название предмета. А также соответствующий код MSC 2010 (если таковой имеется) приведены в скобках.