When submitting a solution to a match, please make sure to meet the following conditions.
以下のJSONオブジェクトを入力してください.
| キー | 型 | 説明 |
|---|---|---|
schedule |
list[int] |
各作業(取り付け・取り外し)の日付割り当て([ワーク1取り付け日, ワーク1取り外し日, ワーク2取り付け日, ワーク2取り外し日, ...]) |
weights |
list[float] |
目的関数各項の重み([ , , , ] ), |
timeout |
int |
サーバーでの計算時間(s) |
一部のワークは複数回加工が必要なものがあります.この場合の実際の作業は取り付け,加工,取り外しを繰り返します.
送信する解は,
[ワーク1の1回目の取り付け日, ワーク1の1回目の取り外し日, ワーク1の2回目の取り付け日, ワーク1の2回目の取り外し日, ワーク2の1回目の取り付け日, ワーク2の1回目の取り外し日, ...]
のように,各ワークの作業の日付割り当てを全て設定した後に,次のワークの作業の日付割り当てを設定してください.
{
"schedule": [1, 1, 2, 3, 2, 2,...],
"weights": [1.0, 0.5, 1.0, 0.9],
"timeout": 600
}
scheduleの配列長は問題ごとに異なります.全てのワークの取り付け・取り外し作業の日付割り当てを入力してください.範囲は1〜9の整数です.
weightsの配列長は4です.0.0以上1.0以下の小数で設定してください.
timeoutはサーバーのSCIPによる計算時間の上限値の設定です.秒数を整数で入力してください.分や時間では入力できません.
{
"schedule": [1.3, 1.0, 2.9, 3.5, 2.1, 2.4,...],
"weights": [1.0, 0.5, 1.0, 0.9],
"timeout": 600.7
}
weights以外の数値に小数を入力してはいけません.
{
"schedule": 1, 1, 2, 3, 2, 2,...,
"weights": 1.0, 0.5, 1.0, 0.9,
"timeout": 600
}
scheduleとwegithの配列は[]で囲ってください.
{
'schedule': [1, 1, 2, 3, 2, 2,...],
'weights': [1.0, 0.5, 1.0, 0.9],
'timeout': 600
}
シングルクォーテーションは使えません.ダブルクォーテーションで囲ってください.
{
"schedule": [1, 1, 2, 3, 2, 2,...],
"weights": [1.0, 0.5, 1.0, 0.9],
"timeout": "600"
}
timeoutの値をクォテーションで囲わないでください.
{
"schedule": [1, 1, 2, 3, 2, 2,...],
"weights": [1.0, 0.5, 1.0, 0.9],
"timeout": 600,
}
末尾にコンマを付けてはいけません.
解を受け取ると,サーバーは評価値の計算を行い,以下のJSONオブジェクトを返します.
| キー | 型 | 説明 |
|---|---|---|
objective |
list[float] | null |
評価値(目的関数値, の4目的)解が実行不能ならばnull. |
constraint |
null |
未使用 |
error |
str |
エラーが発生した場合のエラー文.入力された解のフォーマットに問題がある場合などに表示される. |
info |
dict[str, float] |
|
{
"objective": [-72000.0, 0.0, 0.0, 0.0],
"constraint": null,
"error": "エラー文",
"info": {
"exe_time": 0.77885173400864,
}
}
送信された解が実行不可能だった場合,objectiveはnullとなります.ただし,エラー扱いではなくサーバーの計算時間と評価回数は消費されます.
スケジュールの開始前の時点でパレットにはワークが取り付けられていません.一方,治具はあらかじめ取り付けられています.パレットは12個あり,取り付けられている治具は以下の表のとおりです.
| パレットID | 治具ID |
|---|---|
| 1 | 3000 |
| 2 | 3000 |
| 3 | 4000 |
| 4 | 4000 |
| 5 | 4000 |
| 6 | 5000 |
| 7 | 5000 |
| 8 | 6000 |
| 9 | 6000 |
| 10 | 6000 |
| 11 | 8000 |
| 12 | 8000 |
加工するワークは以下の表のとおりです.
| ワークID | ワークの品番 | 取付作業時間[m] | 加工作業時間[m] | 取外作業時間[m] | 使用治具ID | 着手可能日[日目] | 納期[日目] |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 15 | 65 | 15 | 4000 | 1 | 5 |
| 2 | 1 | 15 | 65 | 15 | 4000 | 1 | 5 |
| 3 | 2 | 15 | 90 | 15 | 8000 | 1 | 5 |
| 4 | 2 | 15 | 90 | 15 | 8000 | 1 | 5 |
| 5 | 3 | 37 | 72 | 8 | 9000 | 1 | 5 |
| 6 | 3 | 37 | 72 | 8 | 9000 | 1 | 5 |
| 7 | 4 | 15 | 14 | 15 | 3000 | 1 | 5 |
| 8 | 4 | 15 | 14 | 15 | 3000 | 1 | 5 |
取り付けと取り外し作業の合計は16なので,送信するscheduleの配列長は16となります.
各治具の数は以下のとおりです.パレットに最初から取り付けられている分を含みます.
| 治具ID | 個数 |
|---|---|
| 1000 | - |
| 2000 | - |
| 3000 | 2 |
| 4000 | 3 |
| 5000 | 2 |
| 6000 | 5 |
| 7000 | - |
| 8000 | 2 |
| 9000 | 1 |
| 10000 | - |
スケジュールの開始前の時点でパレットにはワークが取り付けられていません.一方,治具はあらかじめ取り付けられています.パレットは12個あり,取り付けられている治具は以下の表のとおりです.
| パレットID | 治具ID |
|---|---|
| 1 | 2000 |
| 2 | 2000 |
| 3 | 3000 |
| 4 | 4000 |
| 5 | 4000 |
| 6 | 5000 |
| 7 | 5000 |
| 8 | 6000 |
| 9 | 6000 |
| 10 | 7000 |
| 11 | 7000 |
| 12 | 8000 |
加工するワークは以下の表のとおりです.
| ワークID | ワークの品番 | 取付作業時間1[m] | 加工作業時間1[m] | 取外作業時間1[m] | 使用治具1ID | 取付作業時間2[m] | 加工作業時間2[m] | 取外作業時間2[m] | 使用治具2ID | 取付作業時間3[m] | 加工作業時間3[m] | 取外作業時間3[m] | 使用治具3ID | 着手可能日[日目] | 納期[日目] |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 12 | 78 | 2 | 1000 | - | - | - | - | - | - | - | - | 1 | 5 |
| 2 | 2 | 15 | 72 | 15 | 9000 | - | - | - | - | - | - | - | - | 1 | 3 |
| 3 | 3 | 15 | 90 | 15 | 8000 | - | - | - | - | - | - | - | - | 1 | 5 |
| 4 | 4 | 11 | 72 | 11 | 9000 | - | - | - | - | - | - | - | - | 1 | 3 |
| 5 | 5 | 22 | 117 | 22 | 10000 | - | - | - | - | - | - | - | - | 1 | 4 |
| 6 | 5 | 22 | 117 | 22 | 10000 | - | - | - | - | - | - | - | - | 1 | 4 |
| 7 | 6 | 13 | 78 | 13 | 3000 | 13 | 60 | 13 | 5000 | - | - | - | - | 1 | 5 |
| 8 | 7 | 15 | 90 | 15 | 3000 | 15 | 60 | 10 | 6000 | - | - | - | - | 2 | 5 |
| 9 | 7 | 15 | 90 | 15 | 3000 | 15 | 60 | 10 | 6000 | - | - | - | - | 2 | 5 |
| 10 | 8 | 15 | 144 | 15 | 4000 | 14 | 48 | 14 | 6000 | - | - | - | - | 1 | 5 |
| 11 | 9 | 14 | 108 | 14 | 8000 | 15 | 96 | 15 | 7000 | 15 | 114 | 15 | 2000 | 1 | 5 |
| 12 | 10 | 12 | 108 | 12 | 8000 | 7 | 96 | 7 | 6000 | 10 | 144 | 10 | 2000 | 1 | 5 |
取り付けと取り外し作業の合計は40なので,送信するscheduleの配列長は40となります.
各治具の数は以下のとおりです.パレットに最初から取り付けられている分を含みます.
| 治具ID | 個数 |
|---|---|
| 1000 | 1 |
| 2000 | 2 |
| 3000 | 3 |
| 4000 | 2 |
| 5000 | 2 |
| 6000 | 3 |
| 7000 | 2 |
| 8000 | 2 |
| 9000 | 2 |
| 10000 | 1 |