4th Asprova Programming Contest

Can Participate: All Rated Range: - Penalty: None

10位までの方にはメールで表彰式および賞金の授与に関してのご案内をしています。 asprova.com ドメインからお送りしています。受け取られていない方は、スパムフォルダなどに入っていないか、ご確認ください。

Asprova プログラミングコンテストとは

  • アスプローバ株式会社が開催するマラソン型のプログラミングコンテストです。
  • アスプローバ株式会社は、生産スケジューラ(工場の詳細スケジュールを計算するソフトウェア)を開発・販売している日本の会社で、製品開発は日本で行っています。日本ではトップシェア、中国・韓国・東南アジア・欧米など全世界で販売・技術サポート活動を展開し、世界ナンバーワンの生産スケジューラを目指して研究開発を行っています。

問題

  • 工場にはM台の設備があり、I種類の品目を生産できます。各品目は1工程で製造されます。製造の前に、各品目の前後関係に依存した段取り時間が発生します。今、R個のオーダ(注文)を受け付けました。オーダrは品目i、数量q、最早開始日e、納期日d、粗利金額pr、納期遅れ許容日数a、納期遅れペナルティ金額pemaxが指定されます。ただし納期遅れてしまうと、その遅れ時間delayに応じて納期遅れペナルティ金額が発生し、納期遅れ許容日数aを超えると、納期遅れペナルティ金額pemaxを支払う必要があります。この制約のもとに、利益Pが最大になる計画作成してください。

ルール

  • 参加資格:所属・年齢・居住地を問いません。(アスプローバ株式会社と同業関係者はご遠慮ください)
  • 参加登録:参加希望の方はこのページの参加登録ボタンから参加登録を行ってください。ベータ版からは参加登録できませんので、ご注意ください。
  • 参加登録期間:2019年7月25日~2019年8月23日
  • コンテスト開催期間:2019年8月23日 AM 10:00 ~ 2019年8月30日 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年9月9日(月) 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円)採用を優遇します。

当コンテストの問題と、実社会の問題との関係

  • 実際の工場のスケジューリングに、どう役に立つのか
    各オーダには納期があり、納期遅れは顧客満足度を低下(顧客を激怒)させ、以降オーダを頂けなくなる可能性があり、会社にとって死活問題です。 一方、工場には生産をするための設備、金型、作業員などの"資源"があります。工場の生産能力はこの資源に依存しますが、 設備や金型を増強したり、作業員に残業をしてもらったり、他の持ち場の作業員から応援に来てもらったりして、生産能力を調整することが出来ます。 納期は最終工程の終了時刻に対するものですが、どの工程のどの資源の能力を追加すれば納期遅れを解消できるかを判断するだけでも難しく、 能力の追加コストを考慮しながら利益を最大化するスケジュールを作成することはさらに難しい問題です。 現実問題はさらに多くの複雑な要素が絡みますが、この問題をコンピュータでうまく解くことができれば、全世界の製造業の利益と顧客満足度の向上に大いに貢献することが期待できます。

リンク

更新履歴

  • 2019年7月25日 :トップページ公開

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. Each item is manufactured in a single process. Also, switching of items to be manufactured might incur a setup time. 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, Late Days Allowance a, and Late Penalty Cost pe max. If order is delivered late, based on the number of late days (delay) a portion of the late penalty cost will be incurred. If the number of days late exceeds a, the late penalty cost will be pe max. Based on these constraints, please come up with a manufacturing schedule that maximizes 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: 25th July 2019 - 23rd Aug 2019
  • Contest period: 23rd Aug 2019, 10:00am - 30th Aug 2019, 10:00am
  • 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: 9th Sep 2019 (Monday), 5.00pm
  • Place: Asprova Corporation (6 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
  •    17:10 Program explanation by winners
  •    17:40 Contest review
  •    17:50 Awards Ceremony
  •    18:00 Networking (food provided)
  •    20:00 Close
  • 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).

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

  • 25th July 2019: Created top page.