株式会社豊田自動織機では、生産稼働計画の立案業務をカイゼンするために、鋳造工場をモデルとした自動化・最適化ツールの開発に成功。残業上限などの数々の制約を守りながら、在庫の過不足や段取り替え回数など複数指標のバランスを調整できる、同時最適化技術を開発して特許出願に至りました。本記事では、立役者の1人であるITデジタル推進部の山根有輝也氏が語る、試行錯誤のプロセスをお届けします。
製造業の生産管理の課題に挑む29歳
山根有輝也氏:ただいまご紹介にあずかりました、株式会社豊田自動織機 ITデジタル推進部所属の山根と申します。今日はどうぞよろしくお願いいたします。
入社5年目でして、今29歳です。昨日、愛知県刈谷市という所から来て、今日この会場に立っております。
実は明後日は地元というか名古屋でこのイベントがあるんですけど、今日は先に東京ということで。連休明けということもあって、非常にいいウォーミングアップになってきています。頭もちょっとずつ動いてきているような状況です。
先ほど(の
ヨックモックさんの講演)とよく似てますけど、この発表のキーワードは最適化技術と生産計画というところですね。
今回のモデルケースは、あくまで製造部門です。(今日お越しの方で)生産管理に関わる方も、たぶんいらっしゃると思うんですけど。その他にも、多くの工場や職種に関わるお話をしていきますので、ぜひご自身の状況と照らし合わせながらお聞きいただければと思います。
創業98年の豊田自動織機の成り立ち
初めに、弊社の簡単なご紹介をさせていただきます。弊社・豊田自動織機をご存じの方は、どのくらいいらっしゃいますでしょうか?
(会場挙手)
ありがとうございます。想像以上(に大勢)の方の手が挙がっており、うれしいです。ちなみに私の地元は広島県で、家系は某広島のカモメマークの自動車会社なんです。そこから、私だけ新たな場所を求めて愛知県にやってきました。
弊社は設立が古く、大正15年の1926年11月になります。所在地は愛知県刈谷市豊田町という所です。設立から98年を迎えており、いわゆるトヨタグループの源流企業と言われています。
もともと、豊田佐吉という有名な発明家が開発した、G型自動織機を製造するために設立された会社です。名古屋市内にあるトヨタ産業技術記念館では、今でもG型自動織機が動態展示されています。
事業内容は、祖業の繊維機械事業をずっと大切に続けています。それ以外にも産業車両のフォークリフトや物流事業、自動車関連事業もやっています。
最初にオクトーバー・スカイの中沢さんからお話がありましたが、RAV4というSUV車のOEM生産も行っています。
私も実は新入社員の時に半年間、(モノづくりを学ぶために)RAV4のライン作業に従事していました。助手席側の上についているハンドグリップみたいなものをご存じですか? アシストグリップというんですけど。一部の車でそれを取り付けたり、ドアのロックが止まる金具を締め付けていました。
なので、RAV4のアシストグリップを見た方は、「この人がつけたのかもしれないな」と思っていただければ幸いです。そういう新人研修をするんですけど、もちろんその後、何重にも検査されていますので、大丈夫です。ご安心ください。
世界トップシェアを誇る3つの製品
中でも弊社は、世界トップシェアを誇る製品が主に3つあります。それがエアジェット織機と、こちらのフォークリフト。あとはカーエアコン用のコンプレッサーですね。これは車の中のどこかに必ず入っていると思います。トヨタ車だけではなくて、多くのカーメーカーさんに使っていただいているものです。
98年前に設立されて、1937年に自動車部というものが弊社にありましたけれども、それが今のトヨタ自動車株式会社です。
今回のお話の舞台は、愛知県にある大府工場です。1944年に設立し、鋳造をしています。先ほどのカーエアコン用のコンプレッサーのアルミ部品を作っている工場でございます。
大府工場のご紹介ですけれども、ここではアルミ部品の金型設計とか製作からダイカスト、加工までを一貫で行っています。実は東海道本線のそばにあって、非常に立地がいい工場です。
駅から歩いて5分ぐらいでアルミ工場という感じになっています。コンプレッサー部品と金型を作っています。新しい車ができる度に、毎月のようにどんどん型が増えています。また、マシンをその型に合わせて整備することを繰り返しています。
先ほど(ヨックモックの)お菓子の製造工程がありましたが、それと似たかたちでちょっとまとめてみました。こちらがアルミ部品の製造工程です。まず溶けたアルミ合金を、豊田市にあるアルミの精錬工場から持ってきます。
工場内では、フォークリフトでポットを移動させます。今稼働中のマシンが全部で60基ぐらいあり、金型にアルミ合金を流し込んで、ダイカストマシンで打って固めるということをやっています。
打った直後の製品は「鋳放し(いばなし)」と呼ばれます。このように2つか、あと4つずつできる場合もあります。大府工場での工程は、こんな形で出てきたものを割って熱処理をかけて、バリというものを取って加工していく流れになっています。
熟練作業者の技能を若手1人で継承せざるを得ない状況
ここまでが弊社のご紹介でした。(続いて)発表データの位置付けですね。ここもご存じだと思うので詳細は割愛させていただきますが、弊社でも作業者の高年齢化が課題になっています。
例えば、生産管理の現場には、熟練作業者が複数人いますが、それを1人の若手で継承すべき状況になっています。私の同期にもこの生産管理に従事している者がいますが、伝承に苦労していると聞いています。熟練作業者の技能、技術継承が必須という感じです。
我々ITデジタル推進部の方針についてです。全社の事業変革に入り込んで、新たな価値を共創するビジネスパートナーというスローガンを掲げています。弊社にはいろいろな事業部がありますので、そこに入ってサポートしながら一緒に走っていく伴走役をやっています。
私が所属するグループは主に先進IT技術ですね。直近では、社内でChatGPTを使えるようにして広めていくことも事業でやっており、その中でもデータがいろんな工場から集まってきます。
それらを集結させて最適化技術を適用するということを、2~3人ぐらいのグループで固まってやっている状況です。
なので私の役割としては最適化技術の適用と、熟練作業者から技術・技能を継承する“手の内化”(まずは自らやってみて原理原則を理解すること)をやっています。
最適化技術を適用するテーマの選び方
ご存じのように、最適化技術は全社の幅広い分野の改善と変革に役立ちます。最初にこのテーマの検討を始めたのが4年前なんです。その中で一番いいんじゃないかと選んだのが、今回ご紹介しているテーマです。
社内で2つの理由が挙がっていて、(1つは)生産管理業務であることです。工場だとどの事業部に行っても生産管理業務は必ずあるので、絶対に欠かせないですし、効果の取り代が大きいだろうと。
もう1つが、ダイカスト工程であることです。非常に変数が多くて難しいということで、これさえ解ければ他にも適用できるんじゃないかということが挙げられていました。
難しさについてですが、多品種少量生産をやっています。なので、多い時は全部で400品種ぐらい存在するんですけど、それを「かんばん」(必要なものを必要な時に必要なだけ作るためのトヨタ生産方式で使われるツール)が来る度にちょっとずつ作ったり、まとめて作らないといけない状況が発生します。
あとは、使っている金型を交換するのに30分ぐらいの長い時間がかかる場合があります。この間は生産できないので、細切れに生産するわけにもいかない難しさがあります。
それから計画生産ですね。かんばんが来たら生産するのが基本ですが、まとめて生産しないといけないこともあって、非常に難しいです。逆に言えば、最適化の効果が大きいということで選んでいます。
生産管理部の働き方
過去の1ヶ月間の生産管理部の働き方を見てみると、まず計画を立案して、それを日々修正するという流れになっています。
最初は月末の31日とか(月初)1日で、2週間分ずつで、ようやく1ヶ月の計画をいったん立てます。1日10時間と書いてありますが、それ以上かかることもあり、これが2日間続いて計画立案していきます。
生産管理の担当者には、製造部から、「マシンが動かない」「アルミが足りない」といういろんな電話が入ってきます。それを調整しながらExcelを叩くことが日々繰り返されていました。
ということで計画修正の工数も膨大になってしまっていました。そこにまずメスを入れていこうということで、60パーセント減を目標に工数削減を検証していきます。
最大10の240万乗通りもの金型とマシンの組合せ数
続いては、最適化問題に落とし込む難しさについてです。構成要素が200品種〜400品種ぐらいあって、金型がそれぞれに複数個ずつ存在することもあります。金型はだいたい5,000回ぐらい打っていくと使えなくなってきて、整備が必要になるので、複数あるということですね。
マシンを60基持ってますけど、それぞれに型とマシンの相性があって、入るもの、はまらないものがあります。ここでもまた組合せ数をうまく調整しないといけないということになります。計画の組合せ数が膨大すぎて、最大値の計算だと全部で10の240万乗通りぐらいになります。
(生産管理の担当者が)満足のいく指標ですが、金型を交換して次のものを打つ「型替え回数」をできるだけ少なくしたい、無駄な在庫がないようにしたいという点です。あとは残業時間を少なくしたいということも考えられていて、ヒアリングしてみるだけでも60項目ぐらいあったので、目的関数もおびただしい量になっています。
その中から「汎用性・最適性・習得難易度」という3つの観点から手法を比較していって、混合整数計画法がいいんじゃないかということで選びました。
先ほどヨックモッククレアの安齋さんからお話がありましたが、我々のアプローチは実は逆です。
Gurobiなどのパッケージから選定したというよりは、「どういう手法が使えるんだろう」「その手法が得意な企業ってどこなんだろう」という順番でたどっているところが少し違うかなと思います。
この場にもITデジタル分野からお越しの方がいらっしゃると思いますけど、きっと同じような考えやアプローチで選ばれるんじゃないかなと思います。
生産数と型替え数のバランスを取った解を出す
そして、ご経験のある方もいらっしゃると思いますが、定式化の日々が約1年半続きましたので、流れを簡単にご紹介します。
我々の場合だと、主な決定変数は生産数と型替え数の2つですね。制約式が昼勤残業4時間以内、夜勤残業2時間以内と決まっていたり、あとは在庫基準に違反する回数に制約がありますので、ここを入れてみたりしました。
型替え回数が1日3回を超えると、要は1日に1時間半生産が完全に止まってしまうので厳しいという決まりがありますので、そういうのも入れていくようになっています。
目的関数が最大限の禁止の部分なのですが、減らしたいので、違反回数と型替え数を足すことによって最小化すべきものとして入れています。
イメージとしては数式を図に直して解いていくのはご存じのとおりかと思います。生産回数と型替え数のバランスを取った解ということになりますが、このあたりが最適解になりそうですよね。
最初はこのぐらい(のシンプルな図)で考えていたので、フリーのソルバ(Microsoft Excelに搭載されているのが有名な、連立方程式を効率よく解くソフトの総称)を使っていました。
具体的には、SCIP(研究目的で開発され、現在はオープンソースとなったソルバ)とか、CBC(10年以上前から使われているオープンソースのソルバ)を使っていましたが、実際にはたぶん数兆次元の立体から最適解を探すという旅になってしまって大変ということになり、計算が追いつかなくなってしまってGurobiの採用に至りました。
約1年半にも及ぶ、熟練作業者へのヒアリング
ここから制約式の目的関数の作り方などを説明していきたいと思います。これも共感される方もいらっしゃると思いますが、あえてお話しすると、ひたすら熟練作業者へのヒアリングをしていきます。1回聞いただけでは絶対わからないということが、約1年半続きました。
先ほどのヨックモックさんの例だと、生産管理の方が動かれていたので、たぶんかなり短いスパンでシステムを組めたと思うんです。だけど、関係がないITの分野の人が入っていっても勘どころはわからないんですよね。
私も今後のプロジェクトでも、1回聞いただけで何かをつかめるとはぜんぜん思ってなくて。何度も聞いて、足を運んで、泥臭くやるのが一番成功の秘訣なんだろうなと今でも思います。
流れとしては、まず制約を1回聞いてみて文章に起こし、フローチャートにしてみます。アルゴリズムに実装していって、こういう表に整理します。
計算してみても、当然合いません。合わないのが当たり前だと思っています。なんでだろうということをこの差異から分析していきます。
そうすると、実は型替え回数が減るように生産数を調整したんだとわかったりするので、それをまたフィードバックして次の実装に活かす。こういう流れで、毎月生産計画を立てます。
毎月工場に足を運んで聞いて、また実装して「今月はどうですか」「今月はどうですか」と繰り返してきました。これを粘り強く繰り返したことで、制約が洗い出せました。
算出した計算結果は、生産管理部門から「ダメ出し」
続いて目的関数についてご紹介します。ここでも複数の指標を同時に満たすことが求められるので、オーソドックスな方法ですね。各指標を満たせないことへのペナルティを考えて、その和を最小にするような解を求めるアプローチにしました。
従来技術だとこのように線形に目的関数を組んで……横軸が在庫数なのですが、このあたり(在庫数3〜5直分)が理想の値です。増えすぎるのも良くないので、すり鉢状にするのが一般的だと思います。
しかし、すり鉢状で提案したところ、計算結果を見て、「うーん、微妙だね」と言われまして。その理由を分析したらこのような感じになりました。(例えば)全部で11品番ある状態を考えます。
品番1から10がそれぞれペナルティの値、すなわち罰則点が全部7だったとします。それが10品番あった時に70点。残りもう1個の11品番目が罰則点5。合計が75であるケースを考えます。生産管理の方って、この状態だったら、合格点ではないんですけど「しょうがないね」って言ってくれるんですよね。
一方でもう1個を見てみると、もうちょっとソルバが計算しました。10品番の罰則点が全部3になって、3×10で30になりました。一方で、もう1個の品番が罰則点45になって欠品です。でも総和は75です。こういう場合は当然、「改善箇所もあるけど、欠品はダメだよ。もうやり直し」となるんですよね。
人間が見れば当たり前のことなのですが、ここは非常に難しかったです。逆に言えば連続的な関数を使っても、合格点はもらえませんでした。
熟練作業者と同様の最適化を実現できた理由
そこで思ったのが、生産管理や製造部門の方はそもそも連続的にものごとを考えていないのではないかということでした。その結果、我々で考えたのが、離散的な目的関数です。(タクシーの)運賃表に近い構造をしています。
各指標の優先順位を離散的に表現して、微々たる改善をあえて無視させることで、同じ組合せが複数ある状況を回避できています。これによって、熟練作業者と同様の最適化を実現することができています。
ヒアリングを繰り返して、離散的な目的関数(を出す)。これは特許を出願しています。でも、私が思いついたというよりは、生管の方にひたすら足しげく通って聞き出した結果、うまく見つかったというふうに認識しています。
ヒアリングを1年以上繰り返して、生管の担当者が考える指標と優先順位を定量化したのがこちらの表です。お客さまの納期を伸ばしてしまうので、基本的にマイナスって現場ではあってはいけないんですね。
ですが、計算する時はたいていマイナスの範囲も一緒に考えてあげないと、領域がいびつになるんです。1回広く取って、後からペナルティを最小にする過程で、このあたりを無視してほしいという考え方があったので。すごく大きな罰則点をこのへん(平均−4直分以下)につけて、マイナスでもとりあえず解が見つかればOKとしています。
でも、理想の値は3直から5直分ぐらいの在庫の次の引きに耐えられるぐらいというふうに設定してあります。
他にも過剰も良くないですよねとか、型替え回数も少ないほうがいいですよねということを入れています。これを全部足して数で掛けて、その和を最小にするだけです。それを離散的にしているのが新しいところで、我々の工場にはそれが合っていたということになります。
生産管理の計画立案の工数は63%減、新任者でも対応可能に
改善前は、生管の熟練作業者のみで計画立案していたので、膨大な手作業と電話対応で手いっぱいでした。一方で今回ですけど、もともと2週間でやっていたので、その時は深夜に4時間計算。今はもう1ヶ月分を8時間かけて計算しています。
アルゴリズムが最初の案を提示することで、悩む工数が削減されて電話対応も減りました。そこで工数63パーセント減を実証しています。具体的な変化ですが、実は直近で前任の熟練担当者から担当が変更になり、新任者でもとりあえず問題なく作業できています。
月末はもっと長くかかってしまうこともありましたが、定時内に終わることも増えてきています。これまで電卓を叩きながら電話対応していましたが、カンコツ(トヨタグループ社内の用語で、業務マニュアル化しにくい熟練職人の技)ではなく、計算結果に基づくようになりましたので業務効率が上がっています。
生産管理の仕事は全社をより良くするノウハウの宝庫
今後ですね。まず1つめは、工場全体での工程改善のシミュレーションを予定しています。従来はベテランの生管担当者が3人ぐらいで話し合って「よし、じゃあここで新しい金型を試してみよう。だから生産は1回止めよう」ということを現場に指示してたんですけど。
今はそうではなくて、もし徐々に工程改善したらどうなるかということを設定して、アルゴリズムで操作すれば生産がどうなるのかをシミュレーションできるようになっています。
こんな感じでマクロを組んでしまって、もう本当に手作り感満載ですけど、Excelで条件を新たに設定して、ここを変えたらどうなるかなというシミュレーションはできています。担当者レベルの方々が毎日使いたくなるようなシステムを目標にしてやっているかたちです。
最後に、私の所感を述べさせていただいて終わりたいと思います。まず1つめですね。制約式を明らかにする作業を担当していました。まるで刑事の捜査のようで、ひらめくと楽しいです。
あとは、生産管理の仕事には全社をより良くするノウハウが多く詰まっていると実感できました。最適化を毎日頭でやってるのって、たぶん生産管理の方々なんだろうなと思います。
作業録画や画面録画も駆使して、仕事を疑似体験しながら進めていきました。Excelをポチポチしている画面って、録画してちょっとずつ何度も見れば、なんとなくわかってきます。そこから生管になりきって仕事をすることでなんとか実装がうまくできたのかなと思いますので、こういうのも参考になるといいかなと思います。
山根から以上でした。ご清聴ありがとうございました。
(会場拍手)