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 パッケージの概要
使い方
Optimization[command](arguments)
command(arguments)
説明
最適化パッケージは制約条件のもと目的関数の最小値および最大値を数値的に求めるコマンドを集めたものです。このパッケージでは、 Numerical Algorithms Group (NAG) により提供されたものを利用しています。
線形計画問題 (LPs), 2次計画問題 (QPs), 非線形計画問題 (NLPs) および最小二乗問題を解くことができます。制約条件はなくても計算します。変数は連続であり、局所解は凸空間でなくても計算されると仮定します。 LPSolve は整数計画問題を、NLPSolve は与えられた区間での最適解を計算することがします。
Optimization パッケージの概要および例は Optimization Package Example Worksheet を参照ください。
Minimize および Maximize は Interactive Maplet または個々の問題に特化したコマンドを使うことで簡単に選ぶことができます。
いくつかのコマンドは最適化問題に特化した入力を許します。Optimization/MatrixForm にある行列の形は複雑になりますが、より効率的な計算をすることができます。Optimization/InputForms には最適化パッケージのソルバのすべての入力について要約が述べられています。
行列の入力方法および例についての概要については Optimization Package Matrix Form Example Worksheet を参照ください。
Optimization/Options には最適化パッケージのコマンドで使える共通のオプションの要約されています。Optimization/Methods には最適化問題を解くためコマンドで使われる算法の要約があります。
ソルバはハードウェア浮動小数環境または、任意精度のソフトウェア浮動小数環境で計算を行います。ソルバに対する最適なパフォーマンスを得る方法についてための計算環境については Optimization/Computation を参照ください。
最適化パッケージのコマンドへのアクセス
最適化パッケージのコマンドはコマンドの使い方にある長い形または短い形の一方で使うことができます。 最適化パッケージの実装はモジュールでされており、コマンドは Optimization:-command で使うことができます。 詳しくは Module Members を参照ください。
最適化パッケージのコマンドリスト
最適化パッケージでは次のコマンドを使うことができます。
ImportMPS Interactive LPSolve LSSolve Maximize Minimize NLPSolve QPSolve
最適化コマンドの詳しい説明を表示させたい場合は、Getting Help with a Command in a Package を参照ください。
LPSolve , LSSolve , NLPSolve および QPSolve の入力に関する説明は一緒です。行列を用いる入力については次のページを参照ください。
LPSolveMatrixForm LSSolveMatrixForm NLPSolveMatrixForm QPSolveMatrixForm
注意
最適化問題を計算している間に、ソルバの進行状況について詳しい情報がほしいときは、infolevel[Optimization]に正の整数をセットしてください。infolevel を大きくするとより詳しい情報を表示できます。
例
with(Optimization):
LPSolve は線形計画問題を解くときに使います。assume=nonnegative オプションはすべての変数 x と y を非負とします。解を満たす x と y の値と目的関数の値が結果として表示されます。
LPSolve(-x-y, {y<=3*x+1/2, y<=-5*x+2}, assume=nonnegative);
NLPSolve を使って初期点から探索して極小値を計算します。
NLPSolve(sin(x)/x, x=1..15, initialpoint=[x=7]);
Minimize コマンドは自動で最適なソルバを選択して計算します。
Minimize(2*x+5*y+3*x^2+3*x*y+2*y^2, {x-y>=2}, assume=nonnegative);
制約条件 Ax<=b のもと g-Cx のノルムの最小値を計算するときは LSSolve の Matrix form を使います。
g := Vector([1.2, 2.0, 4.0], datatype=float): C := Matrix([[3.0, -2.0], [0.15, 3.5], [3.8, 4.0]], datatype=float): A := Matrix([[-1.0, 3.0]], datatype=float): b := Vector([0.5], datatype=float): LSSolve([g, C], [A, b]);
参照
infolevel, Optimization/Computation, Optimization Example Worksheet, Optimization Matrix Form Example Worksheet, Optimization/InputForms, Optimization/MatrixForm, Optimization/Methods, Optimization/Options
Download Help Document