3rd Asprova Programming Contest
Can Participate: All Rated Range: - Penalty: None
Asprova プログラミングコンテストとは
- アスプローバ株式会社が開催するマラソン型のプログラミングコンテストです。
- アスプローバ株式会社は、生産スケジューラ(工場の詳細スケジュールを計算するソフトウェア)を開発・販売している日本の会社で、製品開発は日本で行っています。日本ではトップシェア、中国・韓国・東南アジア・欧米など全世界で販売・技術サポート活動を展開し、世界ナンバーワンの生産スケジューラを目指して研究開発を行っています。
問題
- 工場にはM台の設備があり、I種類の品目を生産できます。各品目は最大P工程で生産されます。工程は合流も分岐もしません。今、R個のオーダ(注文)を受け付けました。オーダrは品目i、数量q、最早開始日e、納期日d、粗利金額prが指定されます。ただし粗利金額prは生産が納期日より遅れると取得できません。各設備はオーダ番号の昇順で生産します。また各設備は、日毎に能力を追加して生産スピードを上げ、納期に間に合わせることができますが、能力は追加するとコスト(円)がかかります。この制約のもとに、利益Profitが最大になる能力追加計画を作成してください。
ルール
- 参加資格:所属・年齢・居住地を問いません。(アスプローバ株式会社と同業関係者はご遠慮ください)
- 参加登録:参加希望の方はこのページの参加登録ボタンから参加登録を行ってください。ベータ版からは参加登録できませんので、ご注意ください。
- 参加登録期間:2019年3月26日~2019年5月10日
- コンテスト開催期間:2019年4月26日 AM 10:00 ~ 2019年5月10日 AM 10:00
- コンテスト期間中は何回でも解答を提出できます。但し、提出後1時間は再提出できません。
- 使用可能言語:C++, C#, Python 3, Java8
- 問題文は日本語と英語で提供します。
- その他、AtCoder社の利用規約、チュートリアル、ルール、用語集、よくある質問 をお読みください。
賞金
- 成績上位者には、以下の賞金を授与いたします。
- 1位 160,000円
- 2位 80,000円
- 3位 40,000円
- 4位 20,000円
- 5~10位 10,000円
- 賞金は銀行振込でお渡しします。
表彰式
- 日時:2019年5月17日(金) 17:00から
- 会場:アスプローバ株式会社(JR五反田駅 徒歩6分)
- 定員:25名
- 備考:表彰式は日本語で行われます
- 予定:
- 16:30 受付開始
- 17:00 主催者挨拶
- 17:10 入賞者によるプログラム解説
- 17:40 コンテスト講評 (仮)
- 17:50 表彰式
- 18:00 懇親会(食事あり)
- 20:00 閉会
- 申し込み:
- コンテストに参加しなかった方でも参加できます。食事のみを目的とした方は、ご遠慮ください。
- 定員をオーバする場合は以下の順番で参加の可否を決めさせていただきます。
- 1.入賞者10名
- 2.コンテスト参加者
- 3.その他、本プログラミングコンテストに興味のある方
- 参加ご希望の方はこちらから、お申し込みください。
特典
- 成績優秀者は正社員またはアルバイト(時給2,500円)採用を優遇します。
権利関係
- 本コンテスト参加者は、提出プログラムの著作権(著作権法第27条および第28条に規定する権利を含む)を主催者に移転し、著作者人格権を行使しないものとします。
当コンテストの問題と、実社会の問題との関係
-
実際の工場のスケジューリングに、どう役に立つのか
各オーダには納期があり、納期遅れは顧客満足度を低下(顧客を激怒)させ、以降オーダを頂けなくなる可能性があり、会社にとって死活問題です。 一方、工場には生産をするための設備、金型、作業員などの"資源"があります。工場の生産能力はこの資源に依存しますが、 設備や金型を増強したり、作業員に残業をしてもらったり、他の持ち場の作業員から応援に来てもらったりして、生産能力を調整することが出来ます。 納期は最終工程の終了時刻に対するものですが、どの工程のどの資源の能力を追加すれば納期遅れを解消できるかを判断するだけでも難しく、 能力の追加コストを考慮しながら利益を最大化するスケジュールを作成することはさらに難しい問題です。 現実問題はさらに多くの複雑な要素が絡みますが、この問題をコンピュータでうまく解くことができれば、全世界の製造業の利益と顧客満足度の向上に大いに貢献することが期待できます。
リンク
更新履歴
- 2019年3月26日 :トップページ公開
Asprova Programming Contest
- This is a marathon style programming competition hosted by Asprova Corporation.
- Asprova Corporation is a company in Japan which develops and sells production scheduling software to factories for planning detailed workflows. Development of the software is done in Japan. Asprova Corporation has the leading market share in Japan, and the software is also sold and supported worldwide in China, Korea, South East Asia, Europe, and United States. The company aims to research and develop the number one production scheduler in the world.
Problem
- There are M machines in a factory, producing I types of items. For each item, there are up to P number of processes to manufacture it. There is no branching or merging of processes. Today, the factory received R number of orders. For each order r the following are specified: Item i, Quantity q, Earliest Start Date e, Due Date d, Gross Profit pr. However the gross profit pr cannot be claimed if the order is delivered after the due date. The orders are manufactured first from the smallest order code, going by ascending sequence. The machines manufacturing the orders can also by sped up to try to meet a due date, however doing so incurs an additional cost (Yen dollars). Based on these constraints, please come up with a manufacturing schedule that maximises the gross profit.
Rules
- Participation requirement: Anyone can enter regardless of age, organisation or location. (Please refrain from joining if you are working in Asprova or from the same industry)
- Participation registration: Click on the Register button to register. Please note that participation can not be registered from the beta version.
- Participation registration period: 26th March 2019 - 10th May 2019
- Contest period: 26th April 2019, 10:00am - 10th May 2019, 10:00am
- This contest will take place online.
- During the contest period, answers may be submitted as many times as one may like, although one may not submit within an hour of the previous submission.
- Language that can be used: C++, C#, Python 3, Java 8
- The question would be provided in both Japanese and English.
- Please also read AtCoder's Terms of Service, tutorial, rules, glossary, FAQ for other information.
Prizes
- The following cash prizes will be awarded to the top performers:
- 1st: 160,000 yen
- 2nd: 80,000 yen
- 3rd: 40,000 yen
- 4th: 20,000 yen
- 5th~10th: 10,000 yen
- The cash award would be sent to the winners' bank account.
Awards Ceremony
- Date: 17th May 2019 (Friday), 5.00pm
- Place: Asprova Corporation (5 minutes walk from JR Gotanda station)
- Capacity: 25 people
- Remarks: The award ceremony will be in Japanese.
- Schedule:
- 16:30 Reception start
- 17:00 Greeting from organizer li>
- 17:10 Program explanation by winners li>
- 17:40 Contest review li>
- 17:50 Awards Ceremony li>
- 18:00 Networking (food provided) li>
- 20:00 Close li>
- Application:
- Even those who did not participate in the contest can participate. However, please refrain from joining if you are only aiming for the food.
- If there are too many participants, priority will be given as follows:
- 1. 10 winners
- 2. Contest participants
- 3. Others interested in our programming contests
- If you wish to participate, please click here.
Other priviledges
- The top performers will be given priority for consideration for a full time job or part-time (Hourly pay 2,500 yen).
Copyrights
- The rights of the source code (Japanese copyright law article 27 and article 28) submitted by the contest participants will be transferred to the contest holder, and the author may not exercise his/her personal rights over it.
How does the contest question relate to real world problems?
-
What is a good schedule for factories?
As all orders have a due date, if the due date is missed customer satisfaction goes down (customer get angry), or the order could not be delivered. As such, this is a very major problem for factories to tackle. Factories have limited 'resources' such as machines, molds, and workers. Although the production output of a factory is based on the amount of these resources, through upgrading the machines and molds, getting workers to work overtime, or getting workers from other places to support, the production capacity of the factory can be increased. Although an order can only be delivered after the final process is completed, within any process additional resources can be devoted to speed up the manufacturing. However it is hard to judge which process would be the most efficient and cost effective to devote additional resources to, and a schedule that maximizes the gross profit based on these constraints is a difficult question. This is a very complicated real world question. However if we can get a computer to come up with a good solution, the gross profits of factories around the world and customer satisfaction can be increased as well.
Link
Revision History
- 26th March 2019: Created top page.