core_solveLP

[32/64bit] 与えられた(非整数)線形計画問題を Simplex Algorithm (Simplex Method) を用いて解きます。

core_solveLP p1,p2,p3,p4

p1 = sptr : IntPtr func
p2 = sptr : IntPtr constr
p3 = sptr : IntPtr z
p4 = var : out int returnValue

(プラグイン / モジュール : OpenCvSharpExtern.dll)

解説

ここでいう「線形計画問題」(略してLP問題)は、次のように定式化できます。ここで、\\は1×nの行ベクトル、A\はm×nの行列、b?はm×1の列ベクトル、x?はn×1の任意の列ベクトルであり、制約条件を満たしている。Simplexアルゴリズムは、この種の問題を効率的に処理するために設計された数多くのアルゴリズムの1つです。理論的には最適ではありませんが(上のように書かれた問題を多項式時間で解くことができるアルゴリズムは存在しますが、シンプレックス法はいくつかの特別なケースでは指数時間に縮退します)、よく研究されており、実装も簡単で、実際の目的にもよく合うことが示されています。特定の実装は、T. H. Cormen, C. E. Leiserson, R. L. Rivest and Clifford Stein著のIntroduction to Algorithms, third editionからほぼそのまま引用しています。特に、循環を防ぐために、Blandのルールhttp://en.wikipedia.org/wiki/Bland%27s_rule を使用しています。

元関数名(C#): core_solveLP
元DLLエクスポート名: core_solveLP
参照元CSファイル: Internal\PInvoke\NativeMethods\core\NativeMethods_core.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) core_solveLP(cv::_InputArray *Func, cv::_InputArray *Constr, cv::_OutputArray *z, int *returnValue)
{
    BEGIN_WRAP
    *returnValue = cv::solveLP(*Func, *Constr, *z);
    END_WRAP
}

情報

プラグイン / モジュールOpenCvSharpExtern.dll
バージョン1.00
作成日2021/11/30
著作者inovia
URLhttps://hsp.moe/
備考#include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as"
使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること
タイプOpenCVSharpラッパーDLL
グループNativeMethods_core
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\OpenCvSharpExtern.hs