CRAN Task View: Optimization and Mathematical Programmingの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載した。

Maintainer: Hans W. Borchers and Stefan Theussl
Contact: R-optimization at mailbox.org
Version: 2017-11-28
URL: https://CRAN.R-project.org/view=Optimization

このCRANのタスクビューは、最適化問題を解くための機能を提供するパッケージのリストが含まれています。統計のすべての回帰モデルは最適化問題を解決するが、それらは、このビューには含まれていません。あなたは回帰法を探している場合は、次のビューには有用な出発点が含まれます。MultivariateSocialSciencesとりわけRobust。このタスクビューの焦点は、Optimization Infrastructure Packages General Purpose Continuous Solvers Mathematical Programming SolversSpecific Applications in Optimization である。パッケージは、これらの三つのセクションに分類されています。

多くのパッケージは、このタスクビューの最後に記載されている科目の複数のための機能を提供する。例えば、混合整数線形計画法ソルバーは、一般的に単体アルゴリズムのような標準的な線形プログラミングルーチンを提供します。このため、各パッケージの説明の以下の略語のリストは、オプティマイザ(すなわち、解決できる問題)の代表的な機能について説明します。角括弧内に与えられた略語の完全な名前は、Classification According to Subjectの下にこのタスクビューの最後に記載されています。

あなたには、いくつかのパッケージがリストにないと思われる場合、私に知らせてください。

最適化のインフラストラクチャパッケージ

  • 単一ラッパー関数を介して最適化アルゴリズムを統合しようとすると、optimr (R-Forgeの ‘optimrx’)は目的関数、勾配関数、スケーリングなどの最適化問題を適切に指定するのに役立ちます。 これは、ほとんどのボックス/境界制約を持つ、滑らかで非線形な関数の(ローカル)最適化をサポートします。 関数opmは、データフレームを返し、選択された最適化タスクのソルバを比較します。 (optimx は非推奨となることに注意してください。)
  • Rの最適化インフラストラクチャ(ROI )パッケージは、Rの最適化問題を処理するためのフレームワークを提供します。オブジェクト指向アプローチを使用して、さまざまな問題クラス(例:線形、 線形計画問題)。 これにより、対応するワークフローが下にあるソルバーから完全に抽象化されるため、Rユーザーにとって最適化が透過的になります。 このアプローチにより、ソルバー間の切り替えが容易になり、比較可能性が向上します。
  • CVXR パッケージは、Disciplined Convex Programming(DCP)のオブジェクト指向モデリング言語を提供します。 これにより、ユーザは、数学的な慣習とDCP規則に従って自然な形で凸最適化問題を定式化することができます。 システムは問題を分析し、その凸性を検証し、正準形式に変換し、ECOSやSCSなどの適切なソルバに渡してソリューションを入手します。 (CVXRは、スタンフォード大学で開発されたよく知られたMATLABツールボックスCVXに由来しています)。

汎用連続ソルバー

パッケージ統計には、いくつかの汎用最適化ルーチンが用意されています。 1次元の拘束されていない関数の最適化のためには、最小または最大の区間を検索するoptimize()があります。 関数optim()は、Broyden-Fletcher-Goldfarb-Shanno(BFGS)メソッド、CG、有界BFGS、共役勾配、Nelder-Mead、およびシミュレーテッドアニーリング(SANN)最適化メソッドの実装を提供します。 提供されていれば、より速い収束のために勾配を利用する。 通常は制約のない最適化に使用されますが、ボックス制約最適化のオプションが含まれています。 さらに、線形不等式制約の対象となる関数を最小化するために、statsにはルーチンconstrOptim()が含まれています。 次に、非線形制約のない最小化問題を解くために使用されるnlmがあります。 最終的に、nlminb()は、PORTルーチンを使用した制約のない制約付き最適化を提供します。 [RGA, QN]

  • lbfgsb3 は、JNocedalらの L-BFGS-B 3.0 Fortranコード(限定されたメモリBFGSソルバー)をインターフェースしています。境界制約を受け入れ、より高次元の問題に適用できます。 [QN]
  • lbfgs は、libBFGSライブラリをN.Okazaki(Nocedalのライブラリから変換)でラップし、L-BFGSとOWL-QNアルゴリズムの両方をインタフェースします。後者は特に高次元の問題に適しています。 [QN]
  • 次のパッケージは、境界制約を持つ非線形関数に対して、純粋なRで最適化ルーチンを実装しています。
    • Rcgmin :GCに類似した勾配関数の最小化。
    • Rvmmin :可変メトリック関数の最小化。
    • Rtnmin :短縮されたニュートン関数の最小化。
  • ucminf パッケージは、信頼領域とライン検索手法を組み合わせた、非線形制約のない最適化のための準ニュートン型のアルゴリズムを実装しています。 [QN]
  • mize は、共役勾配 (CG)、Broyden-Fletcher-Goldfarb-Shanno(BFGS)および制限されたメモリBFGS(L-BFGS)メソッドを含む純粋なRで最適化アルゴリズムを実装します。 ほとんどの内部パラメータは、呼び出しインタフェースを介して設定できます。
  • パッケージnloptr は、さまざまな非線形最適化アルゴリズムのLGPLライセンスライブラリであるNLoptへのアクセスを提供します。 これには、ローカル非派生(COBYLA、Nelder-Mead、Subplex)およびグラジエントベース(BFGSなど)メソッド、および非線形制約のための拡張ラグランジアンアプローチが含まれます。 [DF、GO、QN]
  • パッケージdfoptim は、Nelder-MeadアルゴリズムとHooke-Jeevesアルゴリズムの非常に効率的なR実装(無制約と境界制約)を含んでいます。 [DF]
  • 滑らかな非線形目的関数(平等および不等式制約付き)を最適化するための拡張ラグランジュバリア最小化アルゴリズムの実装は、パッケージalabama およびRsolnp で見つけることができます。
  • NlcOptim は、線形および非線形の等価性および不等式制約を伴う非線形最適化問題を解決し、SQP(Sequential Quadratic Programming)メソッドを実装します。
  • パッケージRdonlp2(rmetrics プロジェクト参照)関数DONLP2ソルバーのラッパーであるdonlp2()は、滑らかな非線形関数と制約の最小化を提供します。 DONLP2は、あらゆる種類の研究目的に自由に使用できます。それ以外の場合はライセンスが必要です。 [GO、NLP]
  • clue は、逐次無制約最小化手法(SUMT)を介して制約付き最適化問題を解く関数sumt()を含みます。
  • BB は、単純な制約を伴う大規模な最適化のためのスペクトル投影勾配法を提供する関数spg()が含まれています。 これは、非線形目的関数を基本的制約と同様に引数として取ります。 さらに、BB は、方程式の非線形システムを解くためにスペクトル勾配法を使用するための2つの関数(dfsane()とsane())を含んでいます。
  • GrassmannOptim は、グラスマン多様体最適化のためのパッケージです。 この実装では、グラジエントベースのアルゴリズムを使用し、グローバル検索に確率的勾配法を組み込みます。
  • ManifoldOptim は、 ‘ROPTLIB’最適化ライブラリへのRインタフェースです。 Stiefel、Grassmann、Symmetric Positive Definiteマトリックスなどの多岐にわたる実数値関数を最適化します。
  • パッケージgsl は、BFGS、共役勾配、最急降下、およびNelder-Meadアルゴリズムを提供します。 関数multimin()を使って “行の探索”アプローチを使用します。 これはGNU Scientific Library(GSL)に基づいています。 [RGA、QN]
  • パッケージmaxLik は、汎用のNewton-RaphsonオプティマイザmaxNR()と、メソッドへのラッパーをoptim()で実装しています。 定数パラメータを指定することにより、サブモデルのフィッティングをサポートします。
  • Scilab neldermeadモジュールのRポートはneldermead にパッケージ化されており、シンプレックス方式に基づいたいくつかの直接検索アルゴリズムを提供しています。 また、n1qn1 は、制約のない準ニュートンBFGS法であるScilabのn1qn1最適化手順のRポートを提供します。
  • optimsimplex は、Nelder-Mead、Spendley、Boxメソッド、Torczonなどの多次元検索などの単体ベースの最適化アルゴリズムのビルディングブロックを提供します。
  • パッケージminqa は、いくつかの派生フリー最適化アルゴリズムが用意されています。 関数bobyqa()、newuoa()、およびuobyqa()は、補間によって二次モデルを形成する信頼領域法によって多くの変数の関数を最小にすることを可能にする。 bobyqa()はさらに、パラメータのボックス制約(境界)を許可します。 [DF]
  • パッケージpowell は、PowellのUObyQAアルゴリズム(二次近似による無制約最適化)を使用して関数を最適化します。
  • subplex は、部分空間検索シンプレックス法に基づく無制約の関数最適化を提供します。
  • パッケージtrust は、同じ名前のルーチンが、「信頼領域」アプローチに基づいてローカル最適化を行います。
  • trustOptim は、制約のない非線形最適化のための「信頼領域」アルゴリズムを実装しています。 このアルゴリズムは、疎なヘッセ行列を持つ目的関数に対して最適化されています。 これにより、時間とメモリの両方の占有面積の観点から、スケーラビリティと効率性が高いアルゴリズムになります。

二次最適化

  • パッケージquadprog solve.QP()は、線形等価制約と不等式制約を持つ2次計画問題を解きます。 (行列は正定値でなければならない)。quadprogXT は、これを目的関数の絶対値制約と絶対値で拡張します。 [QP]
  • kernlab は、内点法を使った二次計画問題を解く関数ipopが含まれています。 (行列は正の半正定値とすることができます)。[IPM、QP]
  • coneproj は、円錐投影法や二次計画法、制約付きパラメトリック回帰の推定と推論、形状限定回帰問題のルーチンが含まれています。 [QP]
  • LowRankQP primal /二重内点法による二次計画問題の解法[IPM、QP]
  • limSolve は、等式や不等式の制約を受けて、線形または二次最適化関数を解くことを提供します。 [LP、QP]

最適化テスト関数

  • グローバル最適化アルゴリズムのパフォーマンスをベンチマークする目的関数は、globalOptTests にあります。
  • smoof パッケージは、ベンチマーク最適化アルゴリズムで頻繁に使用される多数の単一目的と多目的のテスト機能用のジェネレータがあります。
  • flacco は、最適化問題のグローバル構造や分離可能性などのかなり複雑な特性を定量化できる連続最適化問題の探索的ランドスケープ分析(ELA)に使用されるツールと機能が含まれています。
  • cec2013 およびcec2005benchmark は、進化的計算に関するIEEE CEC会議での実パラメータ最適化に関する2005年および2013年の特別セッションからのグローバル最適化のための多くのテスト機能が含まれています。
  • パッケージfunconstrain (Github上)は、More、Garbow、Hillstomの35種類のテスト関数を実装しています。制約のない最適化メソッドをテストするのに便利です。

最小二乗問題

  • 関数solve.qr()(qr.solve())は、可能な限り、最小二乗解を返す線形方程式の過大および過小決定システムを処理します。 また、パッケージ統計はnls()を提供して、非線形モデルのパラメータの最小二乗推定値を決定します。
    • nls2 は、ブルートフォースまたはグリッドベースの検索機能を使用してnls()関数を拡張し、開始パラメータに依存しないようにするか、ローカルの解決策に慣れないようにします。
  • パッケージnlmrt は、非線形の二乗和を最小化するためのツールを提供します。 最小化される関数は、nls()の働きと同様に、R関数または式として提供することができます。 nlmrt :: nlxb()は、Levenberg-Marquardtで使用されるヤコビアンの解析派生関数を計算しようとします。 これは、不十分に調整されたヤコビアンと小さな残差との問題の解を可能にします。
  • パッケージminpack.lm は、Levenberg-Marquardtアルゴリズムの修正により、非線形最小二乗問題を解くための関数nls.lm()を提供し、MINPACKに見られるように、より低いおよびより高いパラメータ境界をサポートしています。
  • パッケージnnls は、Lawson-Hansonの非負最小二乗アルゴリズムの実装にインタフェースし、非負の制約と非負の制約を組み合わせることができます。
  • パッケージbvls は、Stark-Parkerの上界と下界変数を持つ最小二乗アルゴリズムの実装をインターフェースします。
  • パッケージonls は、ODRPACK Fortranライブラリに基づくLevenberg-Marquardt型最小化アルゴリズムを使用して直交非線形最小二乗回帰(ONLS、a.k.a直交距離回帰、ODR)を実装します。
  • colf は、線形目的関数に対して最小自乗制約付き最適化を実行します。 これには、選択するアルゴリズムがいくつか含まれており、lm()と同様の数式構文が用意されています。

半定値と凸面ソルバー

  • パッケージECOSolveR は、よく知られた効率的で頑強な凸状問題のCライブラリであるEmbedded COnic Solver(ECOS)へのインタフェースを提供します。 混合整数問題の整数およびブール変数の制約に加えて、円錐定数および等価制約を指定することができます。
  • パッケージscs は、線形プログラム、円錐プログラム(SOCP)、および半正定値プログラムを解くための演算子分割を適用します。 コーンは2次、指数関数、パワーコーン、またはこれらの任意の組み合わせです。
  • cccp には、内点法(部分的にはPythonのCVXOPTから移植されている)を使って、円錐拘束凸問題を解くためのルーチンが含まれています。
  • sdpt3r は、semidefiniteの2次線形計画のためのMATLABソフトウェアであるSDPT3のR実装を使用して、一般的な半正定値線形計画問題(LP)を解きます。
  • CLSOCP パッケージは、二次コーンプログラミング(SOCP)問題の解決のためのワンステップ平滑化ニュートン法の実装を提供する。
  • CSDPは、半正定値プログラミング問題を解決するためのプライマリ – デュアルバリアメソッドを実装するルーチンのライブラリです。 Rcsdp パッケージにインターフェイスされています。 [SDP]
  • DSDPライブラリは、プライマリおよびデュアルソリューションによる半正定値プログラミングのための内点法を実装しています。 パッケージRdsdp にインターフェイスされます。 [SDP]
  • パッケージRmosek は、(非線形)円錐、半正定値、および凸面タスクに重点を置いて、大規模なLP、QP、およびMIP問題のための(市販の)MOSEK最適化ライブラリへのインターフェイスを提供します。 学術ライセンスが利用可能です。 (Rmosekに関する記事はJSSのR特集号の特別号に掲載されました。以下を参照してください)。[SDP、CP]

グローバルおよび確率的最適化

  • パッケージDEoptim は、Differential Evolutionアルゴリズムに基づくグローバルオプティマイザを提供します。 RcppDE は、同じDEoptim()関数のC ++実装(Rcppを使用)を提供します。
  • DEoptimR は、非線形プログラミング問題のための差分進化確率的アルゴリズムのjDE変形の実装を提供します(これは、制約を柔軟に扱うことを可能にします)。
  • GenSA は、一般化されたSimulated Annealingのための関数を提供するパッケージであり、多数の最適化を伴う非常に複雑な非線形目的関数のグローバルな最小値を探索するために使用することができます。
  • GA は、連続アルゴリズムと離散アルゴリズムの両方で遺伝的アルゴリズムを使用した最適化のための関数を提供します。 このパッケージでは、対応する最適化タスクを並行して実行できます。
  • パッケージgenalg には、多次元関数最適化のための遺伝的アルゴリズムの実装であるrgba()が含まれています。
  • パッケージrgenoud は、進化的アルゴリズムと微分ベース(準ニュートン)アプローチを組み合わせることによって、複雑な関数最小化/最大化問題を解くことができるルーチンであるgenoud()を提供します。
  • パッケージmcga が提供する機械コード化遺伝的アルゴリズム(MCGA)は、変数のバイト表現に基づいて最適化の問題を解決するツールです。
  • Particle Swarm Optimizer(PSO)は、パッケージpsopsoptim に実装されています。 PSOアルゴリズムの別の(並列化された)実装は、rforge.net/ppso から入手可能なパッケージppsoにあります。
  • hydroPSO パッケージは、最新の標準パーティクル群最適化アルゴリズム(SPSO-2011)を実装しています。 並列処理が可能で、いくつかの微調整オプションと後処理機能が含まれています。
  • ABCoptim は、人工蜂コロニー(ABC)最適化を実装しています。
  • パッケージmetaheuristicOpt は、パーティクル群、トンボとホタル、サインコサインアルゴリズムなどのいくつかの進化的最適化アルゴリズムの実装が含まれています。
  • ecr は、単一または複数目的の連続または離散最適化問題のための進化的アルゴリズムを構築するためのフレームワークです。
  • N.ハンセン(N. Hansen)のCMA-ESは、進化戦略に適応する共分散行列を用いた大域最適化手順であり、いくつかのパッケージで実装されています。
    • パッケージではcmaescmaesr 、cmaesとしてparma 、pureCMAESとしてadagio 、Hansen自身のJava実装をインターフェースcmaOptimDPとしてrCMA
  • パッケージRmalschains は、ローカルサーチチェーン(MA-LS-Chains)を持つmemeticアルゴリズムと呼ばれる連続最適化のアルゴリズムファミリを実装しています。
  • SOMA(Self-Organizing Migrating Algorithm)のR実装は、パッケージsoma で利用できます。 この確率的最適化方法は、遺伝的アルゴリズムと幾分類似しています。
  • nloptr は、DIRECT、制御ランダム探索(CRS)、マルチレベルシングルリンケージ(MLSL)、確率的ランク付け(ISR-ES)、確率的グローバル最適化(StoGO)などのいくつかのグローバル最適化ルーチンをサポートしています。
  • NMOF パッケージは、微分進化、粒子群最適化、局所探索、閾値受理(シミュレーテッドアニーリングの変形)の実装を提供します。 後者の2つの方法は、パッケージに含まれる遺伝的アルゴリズムの実装と同様に、離散最適化問題のためにも機能します。
  • SACOBRA は、予算が厳しく制限されている高価なブラックボックス機能の数値制約付き最適化パッケージです。 COBRAアルゴリズムの拡張を実装し、初期設計の生成と自己調整ランダム再起動を実装しています。
  • RCEIM は、多次元関数最適化を実行するための確率的ヒューリスティック手法を実装します。

数学プログラミングソルバー

このセクションでは、オープンソースと商用オプティマイザの概要について説明します。 特定のパッケージまたは関数によってどのタイプの数学的プログラミング問題が解決できるかは、角括弧内の省略形から見ることができます。 classification by subject は、このタスクビューの最後にリストを表示します。

  • ompr パッケージは、混合整数リニアプログラムをRで直接代数的にモデル化して解く最適化モデリングパッケージです。モデルはソルバーに依存しないため、さまざまなソルバを使用してモデルを解くことができます。 (JuiaのJuMPプロジェクトに触発されました。)
  • linprog パッケージは、solveLP()関数(ソルバはlpSolve に基づいています)を使用して線形プログラミングの問題を解決し、MPS形式のモデルファイルを読み込むことができます。 [LP]
  • boot パッケージには、(比較的小さな)線形プログラミング問題の2相tableau simplexメソッドを実現するsimplex()というルーチンがあります。 [LP]
  • パッケージrcdd は、GNU Multiple Precision (GMP) ライブラリを使用して厳密な算術を使って線形プログラムを解くための関数lpcdd()を提供します。 [LP]
  • CEoptim パッケージは、連続および組合せ最適化問題のためのクロスエントロピー法に基づく最適化ソルバを提供します。 これは、多極の問題を解決するために使用でき、線形制約を受け入れ、離散変数と連続変数を扱うことができます。 [COP]
  • NEOS Server for Optimization は、最先端の最適化問題ソルバにオンラインでアクセスします。 パッケージrneos を使用すると、最適化問題をNEOSに渡し、R内の結果を取得できます。

オープンソース・オプティマイザのインタフェース

  • パッケージclpAPI は、RからCOIN OR Clp ソルバー・ライブラリーの低レベルAPIルーチンへの高レベル・アクセスを提供します。 [LP]
  • パッケージlpSolve は、自由に利用可能なソルバlp_solve を呼び出すことによってLPとMILPを解くルーチンlp()が含まれています。 このソルバーは、改訂されたシンプレックス法とブランチアンドバインド(B&B)手法に基づいています。 準連続変数と特別注文セット(SOS)をサポートしています。 さらに、lp.assign()とlp.transport()はそれぞれ割り当て問題と輸送問題を解決することを目的としています。
    • さらに、lp_solveの低レベルAPIルーチンへのRインタフェースを提供するパッケージlpSolveAPI もあります(R-Forgeのプロジェクトlpsolve も参照してください)。
    • lpSolveAPI は、lpおよびMPS形式のファイルから線形プログラムを読み取ることをサポートしています。 [BP、IP、LP、MILP、SPLP]
  • パッケージglpkAPI とパッケージRglpk は、GNU Linear Programming Kit (GLPK)へのインタフェースを提供します。 前者は低レベルのルーチンへの高レベルのアクセスを提供しますが、後者はGLPKを使用してMILPを解決するための高レベルルーチンRglpk_solve_LP()を提供します。 どちらのパッケージも、MPS形式で策定されたモデルを使用する可能性があります。 [BP、IP、IPM、LP、MILP]
  • Rsymphony は、混合整数リニアプログラムのためのSYMPHONYソルバーをインターフェースするルーチンRsymphony_solve_LP()があります。 (SYMPHONYは、Computational Infrastructure for Operations Research (COIN-OR)の一部です)。Bioconductorのパッケージlsymphonyは、インストールが簡単なSYMPHONYと同様のインターフェースを提供します。 [LP、IP、MILP]
  • NOMADソルバは、混合整数計画問題を解決するためのcrs パッケージに実装されています。 このアルゴリズムはsnomadr()関数を介してアクセスでき、主にブラックボックス関数の制約付き最適化用に設計されています。

商用オプティマイザとののインタフェース

このセクションでは、商用ソルバーへのインターフェイスを調査します。 通常、対応するライブラリは別々にインストールする必要があります。

  • パッケージcplexAPIRcplex は、IBM のCPLEXソルバーパッケージへのインターフェースを提供します。 CPLEXは、デュアル/プリミティブシンプレックスオプティマイザと、大規模な線形および二次プログラムを解決するバリアオプティマイザを提供します。 さらに、MIQCP(おそらく非凸)を含む難しい混合整数プログラムを解決するための混合整数最適化機能を提供しています。 CPLEXは無料ではないため、IBM からライセンスを取得する必要があります。 学者は要求に応じて無料のライセンスを受け取ります。 [LP、IP、BP、QP、MILP、MIQP、IPM]
  • 商用ソルバーのAPI LINDOは、パッケージrLindo を介してRでアクセスできます。 LINDO API は、線形、整数、二次、円錐、一般的な非線形、大域的、および確率的プログラミング問題を解決することを可能にします。 [LP、IP、BP、QP、MILP、MIQP、SP]
  • パッケージRmosek は、MOSEK の商用オプティマイザへのインタフェースを提供します。 デュアル/プライマルシンプレックスオプティマイザとバリアオプティマイザを提供します。 LPおよびQP問題を解決することに加えて、このソルバはSOCPおよび二次制約付きプログラミング(QPQC)タスクを処理できます。 さらに、難解な混合整数プログラム(MILP、MISOCPなど)を解決するための整数型オプティマイザを提供しています。 MOSEK からライセンスを取得する必要があることに注意してください。 アカデミックライセンスは無料です。 [LP、IP、BP、QP、MILP、MIQP、IPM]
  • Gurobi Optimizationは、5.0リリース以降、Rバインディングを出荷しています。これにより、R、R、MIP、QP、MIQP、SOCP、MISOCPモデルをRで解決することができます。 詳細は、R with Gurobi のウェブサイトを参照してください。 [LP、QP、MILP、MIQP]
  • localsolver パッケージは、Innovation 24のハイブリッド数学プログラミングソフトウェアLocalSolverへのインタフェースを提供します。LocalSolverは商用製品であり、要求に応じて学術ライセンスを利用できます。 [LP、MIP、QP、NLP、HEUR]

最適化における特定のアプリケーション

  • パッケージadagio は、単一および複数のナップザック問題の関数を提供し、サブセットの合計と割り当てタスクを解決します。
  • パッケージclue は、solve_LSAP()を使用すると、ハンガリーのアルゴリズムの効率的なC実装を使用して、線形和割り当て問題(LSAP)を解くことができます。 [SPLP]
  • パッケージqap は、シミュレートされたアニーリングヒューリスティックを適用する二次割り当て問題(QAP)を解決します(他の方法もあります)。
  • パッケージnleqslv は、関数nleqslv()を提供し、ニュートン法とBroyden法をライン検索とトラスト領域のグローバル戦略で実装し、中規模の非線形方程式系を解きます。
  • データクローニングアルゴリズムは、グローバル最適化手法と、パッケージdclone で実装されているシミュレーテッドアニーリングの変形です。 このパッケージは、データクローニングとベイジアンマルコフ連鎖モンテカルロ法を用いた複雑なモデルの最尤推定手順を実装するための低レベル関数を提供します。
  • goalprog パッケージは、辞書式リニアゴールプログラミングと最適化のためのいくつかの関数が用意されています。 ゴールプログラミングは、多目的、複数基準の決定分析の一分野です。 [モップ]
  • グラフとネットワーク解析用のパッケージであるigraphは、非常に高速のigraph Cライブラリを使用しています。 最短パス、最大ネットワークフロー、最小スパニングツリーなどを計算するために使用できます[GRAPH]
  • irace は、他の最適化アルゴリズムのパラメータを最適化するための最適化アルゴリズムが含まれています。 この問題は「(オフライン)アルゴリズム構成」と呼ばれます。 [GO]
  • matchingRmatchingMarkets は、安定した結婚と大学入学問題、安定したルームメイトと家割当て問題のためにGale-Shapleyアルゴリズムを実装しています。 [COP、MM]
  • パッケージkofnGA は遺伝的アルゴリズムを使用して整数1:nから固定サイズkのサブセットを選択し、ユーザが提供する目的関数がそのサブセットで最小化されるようにします。
  • copulaedas は、コピュラに基づいた「分配アルゴリズムの推定」(EDA)が実装され、研究されることができるプラットフォームを提供する。 パッケージはさまざまなEDAを提供し、S4クラスを拡張することで新しく開発されたEDAを統合することができます。
  • tabuSearch は、バイナリ文字列を最適化するためのタブー検索アルゴリズムを実装し、ユーザ定義のターゲット関数を最大化し、見つかった最良の(すなわち最大化する)バイナリ設定を返す。
  • パッケージisotone は、一般的なアイソトーン回帰の問題を解決するための機能のほかに、任意の順序制約を伴うアイソトーン最適化問題のアクティブセットメソッドのフレームワークを提供します。
  • maxLik は、Brendt-Hall-Hall-Hausman(BHHH)やNewton-Raphsonのような多数の最大化ルーチンの上に尤度特有のレイヤーを追加します。 ヘッセ行列に基づいて標準誤差を抽出し、最大化アルゴリズムの簡単な交換を可能にする要約および印刷方法を含む。 また、分析微分値が直接計算されるかどうかをチェックする機能も提供します。
  • 遺伝的アルゴリズムを実装するパッケージmco を使用して、複数の基準最適化の問題を解決できます。 [モップ]
  • optmatch パッケージは、問題を解決するためのルーチンを最小コストの問題に変換し、BertsekasとTsengのRELAX-IVコード(研究のために無料)によって最適に解決されます。 [SPLP]
  • パッケージquantreg は、シンプレックスと内部ポイントルーチン(nlrq()、crq())のバリエーションが含まれています。 関数rq()のRコードのL1回帰へのインタフェースを提供します。 [SPLP、LP、IPM]
  • desirability パッケージは、Derringer and Suich(1980)が記述した関数形式を用いたHarrington(1965)のdesirability関数アプローチを用いた多変量最適化のためのS3クラスが含まれています。
  • パッケージsna は、いくつかの二変量グラフ統計を最適化する一連のヒューリスティックルーチンのフロントエンドである関数lab.optim()が含まれています。 [グラフ]
  • パッケージTSP は、営業担当者の問題(TSP)を処理し、解決するための基本的なインフラストラクチャを提供します。 メインルーチンsolve_TSP()は、いくつかのヒューリスティックを通じてTSPを解きます。 さらに、Concorde TSP Solver へのインターフェースを提供します。これは別途ダウンロードする必要があります。 [SPLP]

科目別分類

以下は、パッケージ別の概要を提供する試みです。 被験者の氏名および対応するMSC 2010 コード(利用可能な場合)は括弧内に記載されています。

関連する記事

  • R言語 CRAN Task View:数値解析R言語 CRAN Task View:数値解析 CRAN Task View: Numerical Mathematicsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載した。 Maintainer: Hans W. Borchers Contact: hwborchers at […]
  • R言語 CRAN Task View:空間データの分析R言語 CRAN Task View:空間データの分析 CRAN Task View: Analysis of Spatial Dataの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載した。 Maintainer: Roger Bivand Contact: Roger.Bivand at […]
  • R言語 CRAN Task View:微分方程式R言語 CRAN Task View:微分方程式 CRAN Task View: Differential Equationsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載した。 Maintainer: Karline Soetaert and Thomas Petzoldt Contact: karline.soetaert at […]
  • R言語 CRAN Task View:生存時間解析R言語 CRAN Task View:生存時間解析 CRAN Task View: Survival Analysisの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載した。 Maintainer: Arthur Allignol and Aurelien Latouche Contact: arthur.allignol at […]
  • R言語 CRAN Task View:系統学、特に比較方法R言語 CRAN Task View:系統学、特に比較方法 CRAN Task View: Phylogenetics, Especially Comparative Methodsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載した。 Maintainer: Brian O'Meara Contact: omeara.brian at […]
R言語 CRAN Task View:最適化と数理計画

One thought on “R言語 CRAN Task View:最適化と数理計画

Comments are closed.