Blizzard2.0 Preview

Blizzard2.0 プレビューリリース

Blizzard の次期バージョンを事前にお試しいただけるよう公開しています。
十分に安定してない可能性がある為、テスト目的以外での使用はご遠慮ください。
製品をさらに洗練するため、フィードバックをお寄せください。

このプレビューリリースは60日間の試用版で、従来版 とは独立して利用できます。
(ライセンスの詳細が未定のため、試用版のみの公開となります)
下のボタンからダウンロードし、プレビューガイドを読まれた上でお試しください。


Blizzard2.0(PreView) Download
Last Update : 2015’07/12(bug fix)

皆様のフィードバックをお待ちしております。ご要望・バグ報告など、この投稿にお気軽にコメントしてください。(スパム防止の為、初めての方のコメントは表示されるまでに時間がかかる場合があります)


Blizzard2.0 プレビューガイド

インターフェースの変更点:

1. 当バージョンよりロジックが DLL化されインターフェースと分離されました。

      ご利用に当たり、DLL の構成が必要です。配布フォルダの

BlzComposer.exe を実行して下さい

    。BlzComposer.exe により各DLLの構成が自動的に行われます。

2. クリップボード経由のインターフェースを廃止しました。

    従来のバージョンでは、クリップボードの操作に起因するフリーズなどのトラブルが発生する場合がありました。Office などクリップボードの履歴を保持する機能を持った他のソフトウェアとの競合による不具合で、主として Excel など Office 製品と共用する機会の多いツールとしてこの問題を根本的に解決するため当バージョンよりクリップボードの操作を廃止し、標準的なコピー&ペースト及びドラッグ&ドロップによるインターフェースに改めました。問題の定義されたテキストファイルをテキストエリアにドラグ&ドロップするか、問題をテキストエリアにコピペし、ソルバー選択ボタンをクリックしてください。コピペによる問題定義を行う場合は、ファイル設定エリアを空白としてください。

3. 小数点以下1位までの小数に対応しました。

    これまで、整数のみを対象としていた問題定義を、小数点以下1位までの小数に拡張しました。切代・材料長さ・ピース長さ に小数点以下1位の小数を定義することが出来ます。数量には整数を定義してください。

4. 問題定義フォーマットが変更されました。

    従来の方式では、切代・材料・ピースを別々に入力する必要がありましたが、当バージョンより一括して定義するようにしました。問題定義フォーマットは、配布フォルダに同梱されているサンプル問題を参照してください。

5. 一次元ソルバー(LP& GA)・二次元ソルバー(2D)のインターフェースを統合しました。

    これまで 独立したソフトウェアとして提供していた BlizzardLP、BlizzardGA、に加え新開発の二次元ソルバーを統合し、Blizzard2.0 から各ソルバーをボタンで選択して実行できるようになりました。一次元問題の解はテキストボックスに表示されますので、必要な部分をコピー&ペーストしてください。二次元問題の解は、画像ファイルとして保存され保存先がテキストボックスに表示されます。

6. ライセンス管理の方法が変わります。

    当バージョンは試用版のみとなっており実行ファイルはPCの任意の場所に配置することが出来ます。正規版においてもライセンス管理の方法が変更され、実行ファイルを USB に置く必要が無くなります。

機能の変更点(一次元):

1. 材料の数量制約の定義を見直しました。

      BlizzardLP では、利用可能な材料長さのみ設定可能で、各長さの材料について利用可能な数量の指定が出来ませんでした。また、BlizzardGA ではすべての長さについて数量を指定する必要がありました。しかし、実務においては端材など数量が限定されている材料長さを含めて計算したい場合が多く、その場合LP を利用することが出来ず、また GA ではすべての長さの材料に数量指定が必要で、数量制約の無い材料の設定ができませんでした。

 

      当バージョンよりLP、GA の問題定義フォーマットを統一し、利用可能な材料長さそれぞれについて数量を指定するよう仕様変更を行いました。定尺材のように数量に制約の無い材料長さを設定したい場合は、数量に「0」を定義することで数量制約の解除が可能です(GA では1種類のみ制約解除可能)。

 

    これにより、「5500 の定尺は自由に利用でき、3500 の端材が 2本と、4500 の端材が 1本ある場合に最適な割付は?」といった問題が解けるようになりました。

2. 探索アルゴリズムの見直しにより、処理速度が向上しました。

      LP は線形計画問題定義のアルゴリズムを変更し、処理の並列化により高速化を実現しました。

 

    GA は探索順序の決定アルゴリズムを見直すと同時に探索を並列化することで高速化を実現しました。

機能の変更点(二次元):

1. 2Dソルバーにヒューリスティックなアルゴリズムを採用しました。

    2D-Seek は全件探索のため、解を得るのに非常に長時間を要していました。Blizzard2.0 ではギロチンカット制約条件付き二次元問題の探索アルゴリズムを新規に開発し、大幅な処理速度の改善を実現しました。

Blizzard2.0 Preview への25件のフィードバック

  1. 田中 のコメント:

    はじめまして。
    小数点1位の計算に対応したメジャーアップデートを予定されていると言うことで購入を検討しています。

    先ほどダウンロードした「Blizzard2.0 プレビュー版」では、小数点の計算が出来ないようなのですが
    当方のやり方が間違っているのでしょうか?
     ・サンプルの切断長さに無理やり1380→1380.5と変更して計算すると、1381として結果が出てきているようです。

    利用可能な材料長さそれぞれについて数量を指定できるようになるなど、大変楽しみにしています。
    メジャーアップデートの予定日など分かりましたら教えてください。

    以上、よろしくお願いいたします。
    田中

    • supermab のコメント:

      田中さん

       はじめまして。フィードバックありがとうございます。

      「一次元サンプル-wiki.txt 」の 1380 を 1380.5 に変更し GA にて現象を再現しました。 ⇒ GA

      LP では 小数で表示されます。 ⇒ LP

      GA が解を文字列化する処理にバグがあるようです。
      早速デバッグし、プレビュー版を更新したいと思います。
      ご指摘ありがとうございました。

      正式版の公開予定は未定ですが、皆様のご要望の反映やこのようなバグの修正が終了した時点で公開したいと考えております。できれば60日以内の公開を目標としております。

      今後ともよろしくお願いいたします。

  2. 田中 のコメント:

    回答ありがとうございます。
    私の環境では、LPにエラーが出てしまい計算できません。
    32bit_WinXP_SP3。

    手持ち2台ともXPしかなく、同じエラーが出ている状況です。
     「Size268 lpsolver solve・・・」とBlz2.0の画面に表示され、
    ポップアップにて下記の表示が出ます
     「アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。[続行]をクリック・・・終了します。
     1つ以上のエラーが発生しました。」

    インストール時には、BlzComposer.exe を実行済みです。

    確認できますでしょうか?

    • supermab のコメント:

      LP が実行できない件、了解いたしました。

      LP が呼び出している lpsolve55.dll が x64 と x86 の二種類あり、実行時に環境を判定して適合する DLL を自動的に生成(リネーム) しているのですが、その処理が正しく行われているか調べるため、以下の二点について教えてください。

      1.実行ファイルのあるフォルダにlosolve55.dll というファイルが出来ているはずなのですが、出来ていますか?
      2.そのファイルサイズが 570kB or 452kB のどちらとなっていますか?

      お手数ですが、よろしくお願いいたします。

      • 田中 のコメント:

        連絡ありがとうございます。

        1.出来ています。
        2. 570kB

        になります。

        • supermab のコメント:

          ありがとうございます!
          どうやら DLL 生成処理にもバグがあるようです。

          生成された lpsolve55.dll を削除して、
          同じフォルダにある、lpsolve55x86.dll を
          lpsolve55.dll に名前変更してみてください。

          動作するようになるはずです。
          度々、お手数をおかけしますがよろしくお願いいたします。

          • 田中 のコメント:

            LP動きました!ありがとうございます。

            小数点の確認をしたところ、下記不具合がありましたので連絡いたします。(LPにて確認)
            「一次元サンプル-1.txt」
            2150→2150.5とすると、切代が2→0.2になり、
            計算結果も0.2にて切断した結果になってしまいます。

          • supermab のコメント:

            LP の小数点処理のバグ報告ありがとうございます!

            頑張って修正いたしますので、しばらくお待ちください。

            (バグだらけで、我ながらあきれる…)

          • supermab のコメント:

            小数に関するバグフィックスを行い、アップロードし直しましたので、再度上記ボタンよりダウンロードしてください。
            DLL の再構成の必要はありません。古いファイルはフォルダごと破棄してしまって構いません。

  3. 田中 のコメント:

    確認しました。
    すべて修正されていました。
    遅くまでありがとうございます。

    • supermab のコメント:

      こちらこそ、フィードバックありがとうございました。
      今後ともお気づきの点は気軽にコメントしてください m(_ _)m

  4. 有松 のコメント:

    お世話になります。早速使用して見ましたが、3列の設定及び出力は出来る様になるのでしょうか?名称、長さ、数量等

    • supermab のコメント:

      有松さん

       フィードバック有難うございます。
      ご指摘いただいたのは、文字列処理のバグです。
      修正して更新したいと思いますので、しばらくお待ちください。

      • supermab のコメント:

        バグフィックス致しましたので、上記ボタンより再度ダウンロードしてお試しください。

  5. 有松 のコメント:

    お世話になります。
    早速使用してみました。OKです。
    ちなみに、同じ長さの製品で名称又は図番が違うものが複数あった場合、優先順位を決めて計算出力する事が可能なのでしょうか?

    • supermab のコメント:

      フィードバックありがとうございました。

      同じ長さの製品に優先順位をつける件ですが、現在ソルバーのロジックでは符号による識別をしておらず(探索時間が過大となる恐れがある為)、優先順位をつけることはできません。UI 側で処理が出来るかどうか?検討していますが、今のところロジックの開発に注力している為、UI による処理の実現の目処は立っていません。悪しからずご了承ください。

      • 有松 のコメント:

        検討ありがとうございました。
        今後出来る事を気長にお待ちしています。
        がんばってください。

  6. supermab のコメント:

    BlzLP にて、不正な解が出力される場合があったので修正いたしました。
    ダウンロードリンクを修正しましたので、再度最新版をダウンロードしてご利用ください。、

  7. 山田耕三 のコメント:

    Ver2.0 の販売は何時ごろになりますか

    • supermab のコメント:

      山田さん

       コメントありがとうございます。
      開発はキリが無いのでどこかで踏ん切りをつけないといけませんね。
      明確なお答えが出来なくて申し訳ないのですが、
      開発の現状につき改めてPOSTしたいと存じます。

  8. キリモミ のコメント:

    先日、自作プログラムからプレビュー版のdllの呼出しについて質問したキリモミです。
    勉強がてら、C#2010でBlzGA.dll,BlzLP.dllを参照して簡単な画面を作っているのですが、コンストラクタでエラーが出て前に進めません(;_;)(引数を0個指定できるコンストラクタがありません)
    何卒、ご教授をお願いします。

  9. キリモミ のコメント:

     お世話になっております。勉強中のキリモミです。
    インスタンス時に「LPSolver lps = new LPSolver(out intNum);」の「intNum」に「2」が返ってきて、最終的には解の取得処理(GetSolution)が異常終了してしまいます。参照設定等が間違っているのでしょうか?
    開発環境 OS:WinXP, C#2010, BlzSuiteComposer実行済, Blz2Preview動作済

  10. たむ のコメント:

    こんにちは。
    V1のライセンスは、V2へ引き継ぎ出来る予定ですか?
    教えて下さい。
    よろしくお願いいたします。

    • supermab のコメント:

      たむ さん

       御返事が大変遅くなって申し訳ございません。
      V1 の ライセンスは V2 に引き継がれます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です