Solverで夢を実現したい~林意恩が挑む、高速・最適な生産スケジューリング
2022.11.06S0: Solverオプション(最適化) , X1:アスプローバ社員インタビューアスプローバ社に今年(2022年)9月入社した新鋭、林意恩(リン・イアン)さんに、お仕事のことなどを聞きました。6月国立台湾大学を卒業したばかりの22歳。エンジニアとして、生産スケジューラAsprovaのSolverオプションの開発を担当しています。

最適に近い解を速く導く
ー 今はどんなお仕事をしていますか
正社員としては入社数カ月ですが、その前1年ほど、アスプローバ社でアルバイトとして働いていました。その時はUI(ユーザー・インターフェイス)の開発が主な仕事でした。javascriptを一から勉強して、初めのころ1週間もかかった仕事が、やがて半日で開発できるようになりました。入社してからは、かねてから希望していたSolverの担当になりました。
得意分野はアルゴリズムとデータ構造です。簡単に言えば、高速に、正確に答えを得ることです。
ただしSolverが解決しようとしている問題は、最適解を出すことが不可能です。なぜなら、現実世界の問題は複雑すぎて、効率的なアルゴリズムで解決することはできないのです。そこで私は、問題を数学的に定式化して、利用しやすい制限を加えて、それをうまく利用することで、高速なアルゴリズムを開発して、問題に挑んでいます。
データ構造とは、データの配列や取り出し方のことです。この問題ならこの構造を使う、というふうに多数の中から選んでいきます。計算を効率化するには、データ構造の設計が大事です。たとえば床に散らかっていた本の中から1冊を探すのは難しいけれど、本棚に「あいうえお順」に整理されてあったら、簡単に見つかります。計算時間を短縮することができるよう、設計するのです。
プログラミングの基礎はどこで身につけましたか
ー プログラミングの基礎はどこで身につけましたか。
高校1年の時、プログラミング言語の一つであるC++の基本を授業で教えられました。本気でプログラミングに取り組むきっかけは、高校2年で偶然、競技プログラミングのサイトを発見したからです。そのサイトにはたくさんの過去問があり、その問題を解いて、正解を得ることが好きでした。昼夜問わず、競技プログラミングの問題を解いていました。

今も問題を解くことが好きで、毎週土日の夜に開かれる「AtCoder」のコンテストには、時間あれば必ず参加します。そうしているうちに、上手くなっていることを実感しています。
アニメで学んだ日本語
- 日本語はどこで学んだのですか
独学です。高校時代から日本のアニメが好きで、それを通じて言葉も覚えていきました。一番好きなアニメは「SHIROBAKO」、アニメを作る物語です。登場人物が一生懸命頑張る姿や、「いいものを作りたい」という人々のこだわり、努力が実らない時の悔しさ、実る時の感動など、どれも私の心に響きます。
ー 大学ではどんなことをしていましたか
台湾大学ではプログラムと何の関係もない文学部で海外文学を学びました。ロシア文学が好きでした。仕事に役立つことはないですが、より豊かな人生を過ごせることができそうで、文学部に行ってよかったと思います。
ー 日本と台湾を比べて感じることはありますか
かなり違います。今年は長崎大学に留学しており、寮に住んでいたのですが、そこではみんな自炊していました。台湾では簡単に外食ができるので、自炊などしません。東京に来て部屋探しをしていた時も、駅前にしか店がないのが意外でした。ちょっと離れると住宅街になってしまって、店がない。これには今も慣れていません。
- これからどんなことをしたいですか
アニメの「SHIROBAKO」は、いいものを作ろうと、夢に向かって頑張る話でした。アスプローバでも、アニメのようにはいかないかもしれませんが、夢を持って一生懸命働きたいですね。とりあえず、Solverをたくさん作りたい。お客さまの案件を聞いて、それにこたえていきます。問題を解くようなものです。そういうのが好きなのです。

コラム編集部

最新記事 by コラム編集部 (全て見る)
- 納期を守りながら段取り時間を減らす~最適化AI 、S3 - 2025年2月12日
- MPSとMRPの違いとは?活用方法も解説 - 2025年2月7日
- 期間別生産計画(大日程・中日程・小日程)はどうやって立てる? - 2025年2月6日