計算実験でボトルネックに到達したことがありますか?選択したテクニックに適したパラメータを選択することにうんざりしていませんか?もしそうなら、Optimizer は本物です!このパッケージは、メタヒューリスティック最適化の簡単な実装を提供します。エージェントから検索スペースまで、内部機能から外部コミュニケーションまで、私たちは最適化に関連するあらゆる研究を推進します。
ライブラリが必要な場合、または次のことを行う場合は、Optimizer を使用します。
opytimizer.readthedocs.io でドキュメントを読んでください。
オプティマイザーは、 Python 3.6以降と互換性があります。
ニーズを満たすために Optimizer を使用している場合は、次のように引用してください。
@misc { rosa2019opytimizer ,
title = { Opytimizer: A Nature-Inspired Python Optimizer } ,
author = { Gustavo H. de Rosa, Douglas Rodrigues and João P. Papa } ,
year = { 2019 } ,
eprint = { 1912.13002 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.NE }
}
初めに。例があります。はい、コメントされています。 examples/
を参照し、サブパッケージを選択し、例に従うだけです。考えられるほとんどのタスクの高レベルの例と、驚くべき統合 (Learnergy、NALP、OPFython、PyTorch、Scikit-Learn、Tensorflow) が用意されています。
さらに詳しく知りたい場合は、少し時間をとってください。
Optimizer は次の構造に基づいており、そのツリーに注意する必要があります。
- opytimizer
- core
- agent
- block
- cell
- function
- node
- optimizer
- space
- functions
- constrained
- multi_objective
- math
- distribution
- general
- hyper
- random
- optimizers
- boolean
- evolutionary
- misc
- population
- science
- social
- swarm
- spaces
- boolean
- graph
- grid
- hyper_complex
- pareto
- search
- tree
- utils
- callback
- constant
- exception
- history
- logging
- visualization
- convergence
- surface
コアはコアです。本質的に、それはすべての親です。構造の基礎を定義する親クラスが見つかるはずです。他のモジュールの構築に役立つ変数とメソッドを提供する必要があります。
生の単純な関数を使用する代わりに、このモジュールを試してみてはいかがでしょうか?問題を解決するために、高レベルの抽象関数、または新しい関数ベースのアイデアを作成します。現時点では、多目的関数戦略のみをサポートすることに注意してください。
コンピューターを使っているからといって、数学が必要ないというわけではありません。 Math は、低レベルの数学実装を含む数学パッケージです。乱数から分布生成まで、このモジュールでニーズを見つけることができます。
これが、私たちがオプティマイザーと呼ばれる理由です。これはヒューリスティックの中心であり、メタヒューリスティック、最適化テクニック、オプティマイザーと呼べるものはすべてここにあります。利用可能なオプティマイザーをご覧ください。
この空間は、エージェントが自分の位置を更新し、適応度関数を評価する場所として見ることができます。ただし、最新のアプローチでは、異なるタイプの空間が考慮される可能性があります。そう考えると、私たちは多様な空間実装をサポートできることを嬉しく思います。
これはユーティリティパッケージです。アプリケーション全体で共有される共通のものはここで実装する必要があります。同じことを何度も再実装するよりも、一度実装して自由に使用する方が良いでしょう。
何が起こっているかを視覚化するのに役立つ画像やプロットは誰でも必要ですよね?このパッケージは、ビジュアル関連のあらゆるメソッドを提供します。特定の変数の収束、フィットネス関数の収束、ベンチマーク関数曲面のプロットなどを確認します。
私たちは、すべては簡単でなければならないと信じています。難しいことや気の遠くなるようなことはありませんが、Opytimizer は、最初のインストールからニーズを実装する日常のタスクまで、必要な 1 つで実行できるパッケージです。最も好みの Python 環境 (raw、conda、virtualenv など) で次のコマンドを実行できる場合:
pip install opytimizer
あるいは、最新バージョンをインストールしたい場合は、このリポジトリのクローンを作成して以下を使用してください。
pip install -e .
場合によっては追加の実装が必要になることに注意してください。必要に応じて、ここからその詳細をすべて知るのはあなた自身です。
特定の追加コマンドは必要ありません。
特定の追加コマンドは必要ありません。
特定の追加コマンドは必要ありません。
Optimizer の簡単な動作例を見てみましょう。多くの追加の引数や追加情報をプロシージャに渡していないことに注意してください。より複雑な例については、 examples/
フォルダーを確認してください。
import numpy as np
from opytimizer import Opytimizer
from opytimizer . core import Function
from opytimizer . optimizers . swarm import PSO
from opytimizer . spaces import SearchSpace
def sphere ( x ):
return np . sum ( x ** 2 )
n_agents = 20
n_variables = 2
lower_bound = [ - 10 , - 10 ]
upper_bound = [ 10 , 10 ]
space = SearchSpace ( n_agents , n_variables , lower_bound , upper_bound )
optimizer = PSO ()
function = Function ( sphere )
opt = Opytimizer ( space , optimizer , function )
opt . start ( n_iterations = 1000 )
私たちは最善を尽くしていることを知っていますが、間違いを犯すことを認めるのは避けられません。バグの報告、問題の報告、ご相談が必要な場合は、ぜひご連絡ください。このリポジトリでは最善の状態でご利用いただけます。