Version 3.3 リリースノート
- 製品名:
fxLooper
- バージョン:
3.3.0
- リリース年月:
2025年6月
全般
プロセス構成の改良
fxLooperのアプリケーションとしてのプロセス構成が変更され、メインアプリケーション、プログラムエディター、データアナライザーなどはそれぞれ独立したプロセスとして実行されるようになりました。
fxLooperメインアプリケーション
一つのウィンドウにつき、
fxlooper.exeが一つのプロセスとして実行されます。また、「計算」はfxlooper_cmd.exeがバックグラウンドプロセスとして独立して実行されます。
プログラムエディター
全ウィンドウに対し、
program_editor.exeが共通の一つのプロセスとして実行されます。(いわゆるシングルインスタンスアプリケーションです。)
データアナライザー
一つのウィンドウにつき、
data_analyzer.exeが一つのプロセスとして実行されます。
プロジェクトファイルの導入
プロジェクトファイル(*.fxlp)が導入されました。(従来の「fxLooperファイル」から名称が変更されました。)
プロジェクトファイルを(Windows上のアイコンをダブルクリックすることなどにより)実行することで、fxLooperのメインアプリケーションが起動し、当該プロジェクトファイルに紐づけられたプログラムファイルが開かれるようになりました。
プロジェクトファイルは(一部のオプションモジュールでの使用を除き)空のファイルであり、プロジェクト名(ファイル名の拡張子を除いた基底部分)が同一のプログラムファイルと紐づけられます。(たとえば、example.fxlp は example.fx.py と紐づけられます。)
データファイルによるデータアナライザーの起動
データファイル(.fxdat)についても、(Windows上のアイコンをダブルクリックすることなどにより)実行することで、データアナライザーが起動し、当該データファイルが開かれるようになりました。
データアナライザー
平行座標図の有効範囲絞り込み機能
グラフの平行座標図において、有効範囲をインタラクティブに絞り込むことが可能になりました。
各軸の青色と赤色のバーは値の有効範囲の下限と上限を表しており、範囲外の折れ線は薄灰色で表示されます。各バーをマウスの左ボタンでドラッグすることにより、有効範囲を変更することができます。
API
文字列による制約条件定義
fxlp.System.add_constraint メソッドによる独立変数間の制約条件を文字列で定義可能になりました。
従来の関数による定義では、
def main():
system = fxlp.System()
system.add_x('x1', 0.0, 5.0)
system.add_x('x2', 0.0, 5.0)
...
system.add_constraint(my_constraint)
...
return system
def my_constraint(case):
import math
return case['x1'] + case['x2'] <= math.pi
となるのに対して、新しい文字列による定義は、
def main():
system = fxlp.System()
system.add_x('x1', 0.0, 5.0)
system.add_x('x2', 0.0, 5.0)
...
system.add_constraint('x1 + x2 <= math.pi')
...
return system
のように、Pythonの式を文字列として記述します。なお、式中ではモジュールとして math のみ使用可能です。
その他
メインアプリケーションの「新規作成ダイアログ」において、プロジェクト名や作成場所を指定可能になりました。
メインアプリケーションのプロジェクトパネルにおいて、プログラムやデータに関連するエラーの詳細をダイアログで表示可能になりました。
コマンド(
fxlooper_cmd.exe --version)により、fxLooperのバージョンを取得可能になりました。fxlp.boモジュール(ベイズ最適化)の最適化ソルバーにおいて、ケースの目的関数値がinfなどの場合にエラーとなる不具合を修正しました。