Excelで加工の最適解を求めたい

このQ&Aのポイント
  • 部品加工の最適解を求めるためには、Excelを使用して各機械の時間稼働を調整し、部品ごとの加工個数を計算する必要があります。
  • 条件として、機械ごとの加工時間や部品の種類、同時加工の制約などがあります。
  • 計算式は、ワークシート上でマクロやゴールシーク、ソルバーを使用せずに行う方法について教えてください。
回答を見る
  • ベストアンサー

Excelで加工の最適解を求めたい

部品加工をしていますが、最適な解の求め方について質問があります。 条件1: 機械は4台あり、それぞれに加工できる部品と1個加工する為の時間が違います。       詳細は、画像をご覧下さい。       (「-」は、その機械でその部品の加工ができない事を表します。) 条件2: 最終的に加工しなければならない部品の数は、A~Eとも、おのおの違います。       (例の場合だけでなく、100~5000程度の間で、日によってバラバラな値です。) 条件3: 部品が変わる場合の設定変更の時間は考慮しなくてかまいません。 条件4: 一つの機械では同時に複数の種類の部品を加工できません。 条件5: 複数の機械で同じ種類の部品を同時に加工できるだけ材料に余裕があります。 Excelを用いて、それぞれの機械が(ほぼ)同じ時間稼働するように、 それぞれの機械でそれぞれの部品を加工する個数を計算させたいのですが、 どのような計算式にすればよいでしょうか。 極力、マクロ、ゴールシーク、ソルバーを使わないでワークシート上の計算式のみで できるものを教えて頂きたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.4

> 機械No.2では、A・B・Cを同時に加工する事はできないので、 だと、問題の条件を勘違いしていました。 そうなると、ちょっと条件のややこしいナップザック問題になると思います。 この手の問題は、解析的に解くのは難しいのが知られています。 質問の例なら、例えば部品B,Cを作るのは機械No.2だけですからとっかかりはありますが、一般化した場合には厳しいです。 計算式だけって事だと、目標値に収束するような逐次計算をシートの行を使って行うとかでしょうが、ちょっと条件ややこしいので、ちょっとお手上げです。

Comatta23
質問者

お礼

ありがとうございました。 Excelの枠からはみ出してしまいますが「ナップザック問題」を調べてみようと思います。

その他の回答 (3)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.3

> しかしながらこの時間では、質問の趣旨である「それぞれの機械でそれぞれの部品を何個加工すれば、機械の稼働時間が揃ってくるのか」が全く分かりません。 それぞれの機械での加工時間が分かったんですから、掛け算するだけです。 全部の機械をK9の21.4時間動かすんですから、 機械No.1は、  部品Aの93個×21.4時間を切り上げて、1991個 機械No.2は、  部品Aの84個×21.4時間を切り上げて、1798個  部品Bの84個×21.4時間を切り上げて、1798個  部品Cの84個×21.4時間を切り上げて、1798個 機械No.3は、  部品Aの105個×21.4時間を切り上げて、2247個  部品Dの105個×21.4時間を切り上げて、2247個  部品Eの105個×21.4時間を切り上げて、2247個 機械No.4は、  部品Dの99個×21.4時間を切り上げて、2119個  部品Eの99個×21.4時間を切り上げて、2119個 とか。 Excelの切り上げはROUNDUP関数を使います。

Comatta23
質問者

補足

重ねて感謝いたします。 しかしながら、この計算も成り立ちません。 機械No.2では、A・B・Cを同時に加工する事はできないので、 どれか1部品だけ加工することになります。 また、機械No.1、No.2、No.3とも、部品Aを21.4時間加工してしまうと、 6000個を超えてしまい、作りすぎです。 品物を作りすぎてはいけません。ぴったり指示数通りに作りたいのです。 お知恵を頂きたく思います。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

> それぞれの機械が(ほぼ)同じ時間稼働するように、 解析的に解くんなら、そういう曖昧な条件は処理できないので、同じ時間稼動することにしちゃいましょう。 55+△がほぼ100になるような△は?って問題で、45以外の回答をって言われても困ります。 -- F列は空けて、 G列に、すべての機械を1時間稼動した場合の加工数を、 G2:=SUM(B2:E2) G3:=SUM(B3:E3) G4:=SUM(B4:E4) G5:=SUM(B5:E5) G6:=SUM(B6:E6) で計算。 H列は空けて、 I列に加工すべき数を転記 J列は空けて、 K列に、必要な加工時間を、 K2:=I2/G2 以下コピペ で計算。 最低限必要な加工時間は上の最大値なので、 K9:=MAX(K2;K6) とか。

Comatta23
質問者

補足

ありがとうございます。 しかしながらこの時間では、質問の趣旨である「それぞれの機械でそれぞれの部品を何個加工すれば、機械の稼働時間が揃ってくるのか」が全く分かりません。 補足回答をお願いします。

  • trytobe
  • ベストアンサー率36% (3457/9591)
回答No.1

「(ほぼ)同じ時間」としても、最適解を試行錯誤なしの「計算式のみ」で表すのは不可能だと思います。 ただ、最適ではないが、自動的に導かれるにしてはかなりいい線までいく(あとは人が微調整するのは短時間ですむ)という手はあるかもしれません。 まず、部品B と 部品C を加工できるのは機械No.2 (84個/時間)しかないので、部品B,C は機械No.2 に割り当てます。 部品D と 部品E は、機械No.3(105個/時間) と 機械No.4(99個/時間) で作れますが、一旦は機械No.4 に割り当てます。 部品A は、機械No.1(93個/時間) 以外にも割り当てられますが、今のところ上で埋まっているマシンがあるので、一旦は機械No.1 に割り当てます。 すると、機械No.2 が空いたときには、部品A の併産ができるようになります。機械No.3 が空いたときには、部品D,E の併産ができるようになります。 部品A がそれでも間に合わないようなら、機械No.3 が部品D,E の併産を終えた後にも 部品A の生産に回れます。 以上の順番にわりあてれば、どんな部品必要生産量に対しても、とりあえずそれなりのスケジュールができます。 ただ、先に申しましたように最適解とは限りませんし、別の部品F を作る場合や、機械No.1~4 の能力変更などがあれば、再度、冒頭からの要領で考え直して式を立て直さねばなりません。

関連するQ&A

  • EXCELで反復計算

    x=(θ-sqrt(x/2)) θを1度から15度まで徐々に変えていって、収束するxの値を使って θとxのグラフを作ろうとしていますが、 見てわかるとおり循環関数になります。 θ=・・・の式に変形してグラフを書くことはできますが、 この形のまま反復計算して解を求めたいのです。 ゴールシークやソルバーを利用してやらなければならないと いうところまでは、分かります。 それをどう使えばいいのか・・・。 分かるかた教えてください。

  • エクセルのゴールシークについて

     エクセルのゴールシークについて質問します。  実際に解が存在するにもかかわらず、計算式・目標値の条件によっては、解が求まらない場合があります。  私の場合、以下の計算を実行しましたが、解が求まりませんでした。 =SIN(ATAN(1/1500))-0.02^2*2000^2/(2*α+100)^(4/3)/(100*α)^2 変数>α 目標値>0.0 他の目標値では解が求まりました。  解決方法が分かれば教えてください。  よろしくお願いします。

  • ゴールシーク(エクセル)とバックソルバー(ロータス)の精度について

    ロータス(バックソルバー)と同等以上の精度で計算したいのですが、 エクセル(ゴールシーク)でできますか? エクセルはロータスと同じようにできない。と聞いたのですが、 反復回数や変化の最大値を変えてもロータスには及ばないのでしょうか? 教えてください。

  • FC300加工について教えてください

    現在FC300部品の加工合理化に取り組んでいます。そこで、狙いとしては切削条件向上等による切削時間短縮を考えています。ぜひ、皆さんの事例やご意見等アドバイス頂けたらと思います。 内容は 部品:FC300一般機械部品(約3mほどある) 加工機械:門型5面加工MC(2500rpm) 加工内容:フライス、エンドミル、ドリル、タップが中心です。 加工時間:15時間ほど できればどのような工具でどれくらいの条件で加工しているなど具体的な事例や斬新な工法等教えて頂けると幸いです。どんなことでも構いませんのでご指導宜しくお願いします。

  • この式の計算の仕方

    f=0.1x^3+0.05x^2-3 g=2-0.5/e^x ただしeは自然定数です。 f=gとなるような方程式の解をソルバー法やゴールシーク法でもとめたいのですが、どのように入力すればよいのかが全く、分かりません。どなたか教えていただけませんか?よろしくお願いします。

  • エクセル2000 複数のセルの答えを出す。 ゴールシーク?

    エクセル2000を使用しています。 例えば、 セット名 セット料金 売上個数 売上金額 Aセット 1,000      0   0 Bセット 1,100      0    0 Cセット 1,200      0    0 Dセット 1,300      0    0 合計      0  800,000 で、それぞれ売上金額合計が800000になるよう複数の最適売上個数がだせますか? ゴールシークを使うと思うのですが、複数のセルのときがわかりません。

  • NCデータの管理(同じ部品を違う機械で加工する)

    継続して注文が入るAという機械加工部品またはAの類似部品を作りたいのだが、 機械の空き具合により異なる機械で加工しなければならない。 たとえばマシニングで、Xという機械はNCはFANUCで工具マガジン20本分、 Yは同じく50本分、ZはNCがオークマのOSP、 という条件下で仕事をされている方はおられますか? この時、NCデータは3種類お持ちでしょうか? それともある程度共通化、あるいは共通化のためのツール、ソフトをお使いでしょうか?

  • 形彫り放電加工の加工時間計算

    形彫り放電加工の一般的な加工時間がを簡易に求める方法式があれば教えて欲しい。 1、現在は同じ様な、部品の加工時間を使って外注に手配しています。 2、これからは、計算式を使用して大体の時間を算出したいと言う要望があり、何か良い計算式があれば???

  • 愛知で金属加工用の工作機械を貸してくれる所

    愛知県で金属加工用の工作機械(旋盤等)を使わせてくれる所はないでしょうか? もちろん(高額でなければ)有料でもかまいません。使用前に講習を受けなければならない等の条件付きでもかまいません。 趣味で部品作りをしたいのですが、DIYで1時間程度借りれれば十分な程度の加工ですが、機械を自分で買うような頻度でもないし、金属加工屋さんにも知り合いがいないので・・・。

  • エクセルの関数で教えて下さい

    エクセルでデータの計算をしたいのですが、やり方がわからないので教えて下さい!! 一つの列にあるデータが該当する個数を数える方法はわかるのですが、複数の列にあるデータで、複数の条件が合ったときの個数を数える方法を教えて下さい 例えば A、B、Cそれぞれの列にデータをいれ、そのA列、B列、C列それぞれの条件の条件が合った時の個数が何個かということを数えたいのです よろしくおねがいします

専門家に質問してみよう