Version 3.3 リリースノート

製品名:

fxLooper

バージョン:

3.3.0

リリース年月:

2025年6月

全般

プロセス構成の改良

fxLooperのアプリケーションとしてのプロセス構成が変更され、メインアプリケーション、プログラムエディター、データアナライザーなどはそれぞれ独立したプロセスとして実行されるようになりました。

  • fxLooperメインアプリケーション

    一つのウィンドウにつき、fxlooper.exe が一つのプロセスとして実行されます。また、「計算」は fxlooper_cmd.exe がバックグラウンドプロセスとして独立して実行されます。

../_images/rn_3.3_01a.png
  • プログラムエディター

    全ウィンドウに対し、program_editor.exe が共通の一つのプロセスとして実行されます。(いわゆるシングルインスタンスアプリケーションです。)

../_images/rn_3.3_01b.png
  • データアナライザー

    一つのウィンドウにつき、data_analyzer.exe が一つのプロセスとして実行されます。

../_images/rn_3.3_01c.png

プロジェクトファイルの導入

プロジェクトファイル(*.fxlp)が導入されました。(従来の「fxLooperファイル」から名称が変更されました。)

プロジェクトファイルを(Windows上のアイコンをダブルクリックすることなどにより)実行することで、fxLooperのメインアプリケーションが起動し、当該プロジェクトファイルに紐づけられたプログラムファイルが開かれるようになりました。

プロジェクトファイルは(一部のオプションモジュールでの使用を除き)空のファイルであり、プロジェクト名(ファイル名の拡張子を除いた基底部分)が同一のプログラムファイルと紐づけられます。(たとえば、example.fxlpexample.fx.py と紐づけられます。)

../_images/rn_3.3_02a.png

データファイルによるデータアナライザーの起動

データファイル(.fxdat)についても、(Windows上のアイコンをダブルクリックすることなどにより)実行することで、データアナライザーが起動し、当該データファイルが開かれるようになりました。

../_images/rn_3.3_02b.png

データアナライザー

平行座標図の有効範囲絞り込み機能

グラフの平行座標図において、有効範囲をインタラクティブに絞り込むことが可能になりました。

各軸の青色と赤色のバーは値の有効範囲の下限と上限を表しており、範囲外の折れ線は薄灰色で表示されます。各バーをマウスの左ボタンでドラッグすることにより、有効範囲を変更することができます。

../_images/rn_3.3_03.png

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 などの場合にエラーとなる不具合を修正しました。