Satoshi's Data Labo            
Road to Clearing Master : Open Item 消込へのナップサック問題解法の応用 (その2)

Excel VBA版のページで触れたようにPHP版も試作してみた。 Webで色々検索したが、Subset-Sum Problem解法は、どうもJAVAやC言語を使ったものが多く、PHPベースのものは案外少ないようだ。 しかし、このWeb Siteを運用しているような格安レンタルサーバー上でシステム構築したかったので、なんとかPHPベースのソースコードを見つけて、それをカスタマイズしてみた。


PHP (MySQL)版

色々探し廻ったのでベースとなるソースコードを何処で拾ってきたのかも忘れてしまいましたが、活用したソースコードでは、ユーザが自由にOpen Itemを設定する機能がなかったので、これをMySQLを使って入力できるようにする部分を追加した。

短いコードだが、下記ソースコードの9行目の MySQLにセットしたOpen ItemをPDOでフェッチした後、当該レコードセットを配列化するところでかなり苦しんだ。(PHPの配列をちゃんと理解していなかったことが原因だが..。)

ソースコードのダウンロードはこちらから ➡ Subset.php

/source.png


How to Use

Open Item List のアップデートはシステム画面上でも実施できますが、一括更新したい場合には、先ず、既存のデータを全て
削除のうえ、下記Excel テンプレートに準備したOpen Item List をシステムにインポートすることを推奨します。

ダウンロードはこちらから ➡ Template.xlsx

準備したテンプレートのシステムへのインポート手順は以下の通りです。

/cM01.png

/cM02.png
/cM03.png
Open Item のインポート終了後、"Clearing Simulation" のボタンをクリックすると、消込候補が表示されます。

 R
 
 
Copyright © 2017 Satoshi Ashikari All Rights Reserved.