supermab.com   HOME > Blizzard-LP

HOMEへ  

Blizzard-LP

Seekのイメージ


【Blizzard-LP ver1.11β 32bit版ダウンロード】 UP!
【Blizzard-LP ver1.11β 64bit版ダウンロード】 UP!
Blizzard ライセンスにて正規版として動作いたします。

【概 要】 【開発経緯】 【使い方】 【動作環境】
【ライセンス】 【インストール】 【入力仕様】 【履 歴】


【概 要】

「与えられたワークを切り出すのに必要な、定尺材の本数を求める材料取り最適化ソフト」です。
ワークのリストと定尺材の長さを与えると、全てのワークを割付ることができる、最も少ない定尺本数と、その時の割付を求めます。 定尺長さを複数指定することができますので、入手可能な定尺材の長さが複数存在(5.5mと6mがあるなど)する場合に、 異なる長さの定尺材の最適な組合せを考慮して計算することができます。
歩留まり改善の実務 のページにあるような問題について、従来は複数の手順を踏んで解を得ておりましたが (歩留まり改善の方法 参照)、 ver1.01β以降、 1回の計算で最適解を得ることができるようになりました。

Blizzard-LP は、一次元切り出し問題から混合整数線形計画問題を生成し、線形解析ソルバーで解析します。 処理時間を要しますが、「最適解を得られる」 ところがミソです。
切り出し問題から生成された混合整数線形計画問題は、LP又はMPSフォーマットでファイルに出力することもできますので、 CPLEX ,GLPK, LINDO など市販のソルバーを使って、さらに詳細な解析を行うこともできます。

※解ける問題の規模は物理メモリの容量によって制限されます。
処理時間は、問題の規模だけでなく難易度によっても大きく変動します。
全ての問題で最適解を得られるわけではなく、解析に失敗する場合がございます。


【開発経緯】

Blizzard で得られた解の歩留まりが延べ長さ歩留まりに対して想定以上に悪い場合など、 ヒューリスティックなアルゴリズムで得た解が最適解なのか?確認したいことがあります。 しかし、問題の規模が大きく全件探索が不可能な場合、最適解を得る手段がありませんでした。
そこで、「ヒューリスティックなアルゴリズムほど高速でなくとも、全件探索よりも高速に(実用的な時間で)厳密な解を得る」ために、開発いたしました。
Blizzard-LP は、Seek の探索エンジンを使って列生成を行い、フリーの「lpsolve55.dll」 を線形解析に利用しています。

【謝 辞】

Blizzard-LP の開発に当たっては、線形解析処理が重要な要素となりました。もしこれを最初から作成するとなれば多大な時間と労力を要していたでしょう。 lpsolve という高性能なソルバーを開発・公開された Dr.Michel Berkelaar、 Jeroen Dirks 氏。及び、ver3.2 以降 lpsolve を継続して開発・メンテナンスされている Kjell Eikland 、 Juergen Ebert氏。 そしてとりわけ lpsolve の利用に関してライセンスの問題や、API の利用方法などアドバイスいただきました コミュニティーオーナーの Peter Notebaert 氏に、心より感謝申し上げます。

TOPへ


【使い方】

Blizzard-LP は、クリップボード経由でワークリストを取得します(2列、又は3列のデータに対応しております)。
定尺材の寸法は、画面上の「定尺寸法ボックス」に直接入力することで行います。
定尺材の寸法と、ワークリストを与えると、「探索実行」ボタンがアクティブになりますので、クリックして探索を開始します。
解が表示されましたら、その解はクリップボードにコピーされていますので、Excel などに張り付けることができます。

使い方のアニメーション(ver1.01β) New! をご覧ください。

旧アニメーション(ver1.00β) もどうぞ(Blizzard-GA と併用するアニメーションです)。
 ※アニメーションをご覧いただくには、flashプラグインが必要です

解に設定数量以上のワークが含まれる場合、余分に割りつけられているワークの長さと数量を表示します。
いずれかの組合せの中から、余分なワークを無視して切り出してください。↓

※今のところ、「どの組合せに含まれるワークを無視するかは、現場にゆだねるべき」という判断からこのような仕様となっております。

TOPへ


【動作環境】

  • ver1.03β 〜 OS :Windows(x64)環境(.NET Framework4.0必須)で動作します。
  • OS :Windows環境(.NET Framework2.0必須)で動作します。
  • CPU:Pentium4 以上。(数値演算プロセッサの搭載されたCPUを推奨いたします)
  • メモリ:2GB以上推奨。(探索できる問題の規模は、物理メモリ容量に依存します。)
  • TOPへ


    【ライセンス】

    シェアウエア ( Blizzard のライセンスで動作いたします。 )
    ライセンスファイルが無い場合は、試用版として動作します。
    ※試用版としてご利用の場合、最適解(本数)は表示されますが、割付は表示されません。
    Blizzard-LP は、オープンソースソフトウエアの lpsolve55.dll にリンクしています。
    lpsolve の開発コミュニティーは http://tech.groups.yahoo.com/group/lp_solve/
    ソースコードは http://tech.groups.yahoo.com/group/lp_solve/files/ から入手できます。

    使用許諾

    1. Blizzard-LP はシェアウェアです。
    2. 実行ファイル(Blizzard-LP.exe)を、ライセンスのない状態で起動すると試用版として動作いたします。
    3. 試用版は自由に複製し、再頒布してかまいません。
    4. お使いのパソコン環境や、プログラムの不具合などによって問題が生じる場合があります。それにより損害が生 じても、損害に対する保証は出来かねますので、あらかじめご了承ください。
    5. ソフトウェアの改変及びリバースエンジニアリングを禁止します。
    6. 著作権は supermab.com が有します。
    7. Blizzard-LP をダウンロードされることにより、当使用許諾に同意されたものといたします。
    8. 同梱の lpsolve55.dll は、LGPLライセンスのオープンソースソフトウェアです。上記リンクよりソースコードを入手できます。

    TOPへ


    【インストール】

    Blizzard をインストールしたUSBメモリの、Blizzard と同じフォルダに解凍してください。正規版として動作します。
    試用版としてご利用になる場合は、PC上の任意の場所に解凍してください。Blizzard-LP.exe をクリックすると起動します。

    同梱の lpsolve55.dll は、Windows用に最大限の最適化を行って再ビルドしてありますので、オリジナルよりも高速に実行されます。
    そのためご利用の環境によっては、DLLの読込に失敗することが考えられます。DLLの読み込みエラーが発生する場合は、上記リンクよりご利用の環境に適したDLLを入手してご利用ください。

    TOPへ


    【入力仕様】

    クリップボードから入力可能なデータフォーマットは下記のとおりです。
    ワークリストのフォーマット

    1. 2列、もしくは3列の正の整数
    2. 列の区切り文字= コロン [ : ]、セミコロン [ ; ]、タブ [ ¥t ] のいずれか

    Excel のシートからコピーする場合など、2列、もしくは3列のセルを選択してコピーしてください。

    テキストファイルなどに、データを作成する場合は、

    100 30
    200 40
    300 50
    あるいは、
    A 100 30
    B 200 40
    C 300 50
    のように指定の区切り文字を使って作成してください(スペース、ピリオドは無視されます)。

    ワークリストのフォーマット
    定尺材料の寸法は、画面上で入力します。
    Blizzard-LP 1.01βより、複数の種類の定尺材を指定可能となりました。各定尺長さを入力ごとに、エンターキーを押してください。
    リストから削除したい場合は、削除したい長さを選択してBackSpaceキーを押してください。
    ドロップダウンボタンを押すと入力した定尺材寸法が確認できます。

    TOPへ


    【履 歴】

    1. Blizzard-LP ver1.00β(2009’ 11/11 公開)
        バグのため公開停止。バグの詳細は こちら 。
    2. ver1.01β(2009' 11/23 公開)
        指定数量以上のワークを割りつけた場合に、コメントを追記するようにしました。
        複数の定尺材を指定できるようにした。
    3. ver1.02β(2009’11/26 公開)
        処理速度の高速化のためパラメータを最適化する処理を追加しました。
    4. ver1.03β(2010’10/24 公開)
        探索速度が向上した lpsolve55.dll ver5.5.2.0 に対応し、添付しております。
    5. ver1.11β(2011’05/13 公開)
        パターン数の小さい組合せを連続して探索する機能を搭載しました。
          (使用方法など詳細は ブログ にてサポートさせていただく予定です)

    TOPへ

    HOMEへ

    Copyright © 2008-2011 supermab.com
    All rights reserved.