• ベストアンサー

目的セルを最小にする組み合わせの導き方

エクセルについて質問です。 やりたいことは、 ナップサック問題(だと思っている)です。 過去の質問と回答を見たのですが、 問題と解決手段とが合っているのかというところから 疑問に思っている状況です。 やりたいことを簡単に書きますと、  製品Dは、3つの部品A,B,Cから構成されていて、  製品Dの総コストが最小になるような、  部品の組み合わせを導き出したい。 ということです。 自分なりに考えたものを下に書きます。 A,B,Cの部品には、それぞれ何個かの候補があって、 エクセル上で部品リストとして登録します。 例えば、 部品Aリスト 品名 面積 コスト A-1 10 10 A-2 12 7 A-3 15 5 部品B,Cも同じように登録します。 製品Dの総コスト計算は、下のように出します。 品名 面積 コスト 部品A A-1 10 10 部品B B-1 12 8 部品C C-3 16 12 面積計 38 コスト計 30 総コスト 68 係数 1 品名の列は、入力規則をリストにして、 各部品リストの品名から選べるようにしています。 面積・コストはVLOOKUP関数で、品名に対応した値を 各部品リストから引っぱっています。 面積計・コスト計は、 それぞれをSUM関数で合計を出しています。 総コストは、 =(面積計*係数)+コスト計として計算しています。 係数は、製品ごとに見直しで、今は変化させません。 ここからが、ようやく本題です。 総コストを最小にする部品の組み合わせを出したい場合に、 ソルバー機能でできるのかなと考え、 目的セルに総コストを選んで、 変化させるセルに品名を選べば良いと思っていました。 ですが、実際にやってみてもエラーが発生しました。 ソルバーは、最適な<<数値>>を求めるものであって、 リスト(品名)を変化させるのは、機能的に違うのかと思っています。 このような問題を解決する場合、 ソルバー機能を使用するのは合っているのでしょうか。 もし合っているとしたら、 リストを変化させるには、どのようにすれば良いでしょうか? また、ソルバー機能にはこだわっていませんので、 別の方法で解決できるのであれば、教えていただければと思います。 説明が長くてすみません。 詳しい方、ご助言をよろしくお願いします。

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

  • ベストアンサー
  • YSNR-HRN
  • ベストアンサー率36% (40/111)
回答No.2

組み合わせなど考えずにA,B,Cそれぞれの総コスト最小の部品を選べばよいのではないでしょうか? 部品Aリスト 品名 面積 コスト 総コスト A-1 10 10 20 A-2 12 7 19 A-3 15 5 20 この場合はA-2を選ぶ。 A-1を選んだらB-1は選べない、などの制約があれば別ですが。

Signal1500
質問者

補足

ご回答ありがとうございます。 確かに、部品リスト上で部品の総コストを求めておいて、 最小コストのものを見つけるという方法がありますよね。 ありがとうございます。 質問の仕方が悪かったなと反省していますが、 これをソルバー機能を使って求めることはできるでしょうか。 結果を求める方法にもこだわりたいのです。 ソルバー機能にはこだわらないと書いたのにすみません。 マクロのことをほとんど知らないのですが、 ソルバー機能ではできないけど、マクロだとできるのかなと考えて、 そういう回答がこないかと勝手に期待して、 こういう書き方をしてしまいました。 お気づきの点があれば、アドバイスをお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

製品Dを構成する部品A、B、C、、、があり、それぞれに枝番があるなら、 総当たりで最小のコストが出るようにするとか? その場合に部品同士の相性・枝番同士の相性・部品&枝番での相性を 省いていくしかないのかな? 私見ですけど、個人で処理できるレベルのようには思えません。 業務であれば、会社に相談するべき事のように思います。

Signal1500
質問者

お礼

ご回答ありがとうございます。 自動で求められるかなと思ったのですが、 部品リストごとの総コストを出しておくのが 良い方法なのかも知れませんね。 身近にエクセルに詳しい人がいないので、 こういうことができるのかどうかも分からない状態でしたが、 難しいということがよく分かりました。

全文を見る
すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

製品Dに対して、面積及びコストのそれぞれの合計は、 製品Dの何から求めるのでしょう? 製品Dにおける、最小面積及び最低コストが提示されている? あるとした場合、どちらが優先される?? それに部品A・B・Cにおいてどれだけの種類がある??? それらなくして、回答は困難なようにも思えるのですけど。

Signal1500
質問者

補足

ご回答ありがとうございます。 補足説明です。(補足になっていなかったらすみません。) 今回のものでは、 とにかく製品Dのコストを最小にすることを目的にしています。 部品個別のコストと製品D自身の面積(=部品の面積の合計)が 製品Dのコストに影響するとしています。  (面積が大きくてもコストが小さければ良しです。) 部品の数は、いまのところそれぞれ30個ほどですが、 後々、部品数の増加にも対応したいと思っています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • この問題はソルバーを使って解くと考え、目的セルを「$D$7」とし、目的

    この問題はソルバーを使って解くと考え、目的セルを「$D$7」とし、目的値を「最大値」、変化させるセルを「$B$8:$C$8」に設定しました。ここまではよろしいでしょうか。制約条件には何を入力すればいいのでしょうか?自分なりに条件をいれてみましたが、どうしても答えが0にしかならないのです。 どなたか教えてください。

  • エクセル セルの組み合わせ

    エクセル表の中で目的の数値になるセルの組み合わせを探したいです A列  B列に a  210 b  80 c  403 d  196 e  221 f  307 g  325 h  233 i  237 j  307 k  487 L  267 のようにあります。 これを組み合わせて980に近い組み合わせをいくつかさがしたいのですが、 どうしたらできるでしょうか。重複はできないのです。 ソルバーで挑戦しようと思いましたが、使い方がわかりません。 だれか教えてください。おねがいします。

  • C/C++での最小二乗法について

    いつもお世話になっております。 初めての質問で不備があるかと思われますがよろしくお願いします。 現在Excelのソルバー機能で、測定した値とは別に 計算式f(x)で求めた推定値との残差二乗和((測定値-推定値)^2の和)から 計算式f(x)の変数a,bを算出しています。(変数a,bの初期値は適当な値を設定) このソルバーでの最小二乗法の計算をc/c++にて実装するにはどのようにすれば良いのでしょうか。 (ソルバー機能では目的値を残差二乗和、変化対象を変数a,bとし、準ニュートン法より最小値を求めています。) 御教授よろしくお願いします。

  • 2つの組合せ

    それぞれの生徒がそれぞれ好きな本を好きなだけリストしています。 生徒ID 好きな本 1    A 1    B 1    C 2    B 2    C 3    A 3    B 3    C 3    D 4    B 4    D ・・・ 私はこのクラスで本を2冊セットにして売ろうと思っています。どの2冊の組合せが一番売れるでしょうか。という問題です。実際は生徒数が1000人くらいいて、エクセルで表が作れないかと思っています。 よろしくお願いします。

  • 重複したデータを除き、別セルに表示したい。

    EXCEL初心者です、教えてください。 セルB2から列方向に、 品名・A・B・A・B・B・Cと入力しフィルタオプションを使って  指定した範囲、リスト範囲、検索条件、抽出範囲、重複するレコードは無視、を指定 そうしますと セルD2に 品名・A・B・Cと絞込みができました。 しかし列Bの品名は毎日変わるので、品名以下(設定範囲)と列D(抽出範囲)をDeleteで削除 翌日のデータを入れたところ抽出範囲である列Dは動かず 毎回あらためて設定しなくてはならず大変です。 1度設定したら何回も使える方法はないでしょうか?                                                             

  • VBの組み合わせプログラムについて。

    初めまして。複数部品からなる製品の組立途中の形状パターンを抽出する プログラムを作成しているのですが、良いループが組めず困っています。 例えばA,B,C,Dと4つの文字からなる以下のような組み合わせ作成するループ文を作成したいです。 条件 ・入力文字数は可変します。A,B,C,D→A,B,C,D,E ・組み合わせ内で同じ文字は2度使用されません。 ・A,B,CとB,C,Aは同一とします。 1文字のパターン A B C D 2文字のパターン A,B A,C A,D B,C B,D C,D 3文字のパターン A,B,C A,C,D B,C,D 4文字のパターン A,B,C,D 4文字からなるパターンは全部で14パターンになります。 以上、宜しくお願い致します。

  • エクセル:一定の間隔で並ぶセルの合計

    現在以下のような問題で悩んでおります。 例えば、 列 A B C D E F G 行 1            購入品リスト 2      10/30          10/31 3[製品名 部品番号 価格] [製品名 部品番号 価格]  合計   4 A 255 500 A 255 500    ? 5 B 324 350 B 324 350    ? などのように1ヶ月分の購入品リストがあるとします。 この場合、 製品Aの価格の合計を求めたい場合、部品番号を数値ととらえる前提で、 合計の欄に一定の間隔が空いたセルの合計を求めたい場合、 便利な関数ならびに数式の書き方がございましたらご教授いただきたいです。 現在は似たような配列の場合、全て手で1つ1つ足しております。

  • エクセルで検索範囲より特定文字に対応するセルの値を求めたい。

    教えてください。 A1~D4に,下記のようにDATAがある場合、 セルA7に ”A1”と入力すると セルB7に ”部品A”と表示させたい。 セルA8に ”D3”と入力すると セルB8に ”部品C”と表示させたい。 どのような関数で求められるでしょうか。      A    B    C     D 1 使用部品 番号1  番号2  番号3 2 部品A    A1   B1 3 部品B    A2   A3    B5 4 部品C    D1   D3    A4 5 部品D    C2   C3 6 7 A1    部品A 8 D3    部品C 9 C3    部品D 10A4    部品C  

  • ソルバーの解が最適値を示さない

    タイトルの通り、エクセルのソルバー機能を使用してある反応の速度係数と算出しようとしたところ、フィッティングされません。 最小二乗法によりソルバーを動かすと添付図のように最適化条件を満たししていますと出るのですが、どう見てもあっていません。 ソルバー機能上このようになるのか、フィッティング関数の性質上このようになってしまうのかがわかりません。 どなたかこの症状に詳しい方がいらっしゃれば、ご教示いただきたいです。 下記想定で行っています 実験値セル:B3*exp(-B4*A6)*{1+RAND()/5} 計算値セル:C3*exp(-C4*A6) 残差:{(実験値セル)-(計算値セル)}^2 残差平方和:SUM(D列) ソルバー条件 目的セル:E6(残差平方和)を最小値 変数セル:C3:C4 制約なし(制約なしを非負数とするのみ)

  • 部品の組み合わせ管理センサー

    お世話になります。 部品の組み合わせが管理できるようなセンサーを探しています。 そのようなセンサーが存在するのか、また、何という部類のセンサーに なるのかをご教示いただきたく、質問させていただきます。 作業内容  弊社に部品Aが納入されます。  部品Aは部品Bと部品Cで構成されています。  弊社でいったん部品BとCに分解して、そのほかの部品を組み付け、  部品Dとして出荷します。 改善したい内容  問題は部品BとCが納品状態と全く同じ組み合わせで  組み付けないといけないこと。  部品Aが2個あって、それをA1=B1+C1、 A2=B2+C2 としたとき、  B1+C2、B2+C1 と組み合わせを間違ってはNGです。  今はその組み合わせ管理をナンバリングなどによる人手作業に頼っています。  イメージとしてB,Cに分解する際、それぞれにタグを取り付け、  最終組み合わせの際に同じ組み合わせのタグでないと、  エラー音が鳴る、設備が起動しないといったことができないかと  考えています。 この時代、このようなセンサーが存在していてもおかしくはないとお思いますが、 ご存知の方がいらっしゃいましたらご教示お願いします。

米国株(特定)の移管について
このQ&Aのポイント
  • 米国株(特定)の移管に関する質問
  • 特定口座から一般口座への移管に注意が必要
  • 移管により価格変動で確定申告が必要になる可能性がある
回答を見る

専門家に質問してみよう