Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
Optimization[ImportMPS] - MPSファイルを取り込む
使い方
ImportMPS(filename, maxm, maxn, lowbnd, upbnd, opts)
パラメータ
filename - MPS(X) データのファイル名
maxm - (オプション) 入力できる線形制約条件の最大数
maxn - (オプション) 入力できる変数の最大数
lowbnd - (オプション) 変数の下界
upbnd - (オプション) 変数の上界
opts - (オプション) option=value の形。 option は objectivename, rhsname, rangename または boundsname
説明
Optimization[ImportMPS] コマンドはMPS(X) ファイルから (LP) を取り込みます。結果は LP をあらわす行列とベクトルの列を返します。問題の形を直接 Optimization[LPSolve] コマンドに Optimization[LPSolveMatrixForm] にあるような行列の形で入力することができます。
第 1 引数 filename は MPS(X) データファイル名を入力します。 第 2 引数 maxm は データファイルから読み込む制約条件式の数の上限を入力します。maxm の初期値は 50 です。 第 3 引数 maxn は データファイルから読み込む変数の数の上限を入力します。maxn の初期値は 50 です。 第 4 引数 upbnd は変数が動くときの下界を浮動小数で与えます。はじめは -1.0e21 で設定されています。変数が非負の値をとるようにしたいときは、0.0 を設定します。 第 5 引数 upbnd は変数が動くときの上界を浮動小数で与えます。はじめは 1.0e21 で設定されています。 第 6 引数は次のようにオプションで入力します。リストの第 1 項が整数であれば maxm として読まれ、第 2 項は maxn として読まれます。浮動小数であれば、 lowbnd と upbnd の列となります。
引数 opts は次のオプションからいくつか選ぶことができます。
objectivename=objname -- 名前 objname の目的関数を使います。objname ははじめ空であり、この場合目的関数はデータファイルから決定されます。
rhsname=RHSname -- 名前 RHSname の右辺から定義される式を使います。 RHSname ははじめ空であり、この場合目的関数はデータファイルから決定されます。
rangename=rngname -- 名前 rngname のから定義される領域を使います。rngname ははじめ空であり、この場合目的関数はデータファイルから決定されます。
boundsname=bndname -- 名前 bndname で定義される境界条件を使います。 bndname ははじめ空であり、この場合目的関数はデータファイルから決定されます。
多くの場合、列 sprob, cvec, A, b, Aeq, beq, bl, bu, x を結果として返します。LP による行列の形の説明については Optimization[LPSolveMatrixForm] または Optimization[MatrixForm] を参照ください。
prob はファイルにある問題名の文字列です。
cvec は線形目的関数の係数をあらわすベクトルです。
A は不等式制約条件の左辺の係数をあらわす行列です。
b は不等式制約条件の右辺の係数をあらわすベクトルです。
Aeq は等式制約条件の左辺の係数をあらわす行列です。
beq は等式制約条件の右辺の係数をあらわすベクトルです。
bl は n 個の変数の下界をあらわすベクトルです。
bu は n 個の変数の上界をあらわすベクトルです。
x は初期点をあらわすベクトルです。
maxm および maxn はオプションで与えますが、ImportMPS は設定した以上の変数または線形制約条件のある MPS ファイルを入れるとエラーを返します。
例
ImportMPS の基本的な使い方を紹介します。すべての変数に対して下界および上界をそれぞれ 0.0 および 1.0e21 で設定します。
data := Optimization[ImportMPS]( "example01.mps", 0.0, 1.0e21 ): if nops([data]) = 7 then (sprob,cvec,A,b,bl,bu,x):=data; else (sprob,cvec,A,b,Aeq,beq,bl,bu,x):=data; end if: sol := Optimization:-LPSolve(cvec,[A,b],[bl,bu]);
[ 4. ] [ ] [ 0. ] [ ] [ 0. ] sol := [92.5000000000000, [ ]] [4.50000000000000000] [ ] [ 2. ] [ ] [ 0. ]
参照
Optimization[LPSolveMatrixForm], Optimization[MatrixForm], currentdir.
参考文献
MPSX Mathematical programming system Program Number 5734 XM4 IBM Trade Corporation, New York (1971).
Download Help Document