2023年8月17日木曜日

フェーズパターンのNOT演算を禁止

 タスク集合では、既に禁止していましが、行制約・フェーズパターンでも禁止としました。

これは、タスクのNOTは、シフトほど単純な構造でなく解釈のトラブルを生じ易いためです。






2023年8月16日水曜日

8月末にリリース予定機能

次の4つの実装を予定しています。 

1) タスクカウント

2) リフレッシュ

3) Group集合名にスタッフプロパティのシフトとタスクを追加

4) スタッフプロパティのシフトとタスク 先月部の矛盾する予定をソフト制約化


これらは、全て4)に起因して実装するものです。



2023年8月11日金曜日

SAT competition 2023

 結果が出ました。毎年楽しみにしているのですが、今年は、プリプロセッサのイノベーションがあったようです。

にしても、KissatよりCadicalの方が良い理由が分かりませんでした。いずれにせよ、来年以降ポートフォリオソルバで採用されていくのは、間違いないと思います。


2023年8月10日木曜日

ネット上のCSVファイル読み込み

 時間割作成問題作成中に知ったのですが、Pulpでは、pandasで簡単にネット上のCSVファイルが読めます。


lesson_df = pd.read_csv("https://raw.githubusercontent.com/ryosuke0010/opt_test/master/composition.csv")

スケジュールナース上のPythonは、pandas等の大きなライブラリは搭載していないので、上記ソースでネット上のCSVファイルを読むことは出来ません。 そこで、pandasなしに次のようにして読んでいます。

def get_list_of_rows():
    url="https://raw.githubusercontent.com/ryosuke0010/opt_test/master/composition.csv"
    response = urllib.request.urlopen(url)
    lines = [l.decode('utf-8') for l in response.readlines()]
    #print(lines)
    reader=csv.reader(lines)
    list_of_rows=list(reader)
    return list_of_rows

2023年8月9日水曜日

時間割作成問題

ふとQiita記事が目に留まったので、スケジュールナースで記述できるかやってみました。

 時間割作成問題 (nurse-scheduling-software.com)

スケジュールナースは、数独、塾勤務表、時間割作成問題のように単にシフト問題に留まらずに、組み合わせ最適化問題を解くプラットフォームとしてもお使い頂けます。

2023年8月7日月曜日

Update INRC2 8weeks data and projects

 Updated project files format, using task schedule table as follows. Also,newly found UB values are updated.