質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

324閲覧

予算上限までの積み上げ方

pulim

総合スコア15

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/03/10 10:08

2021年から2030年び間、1円単位で値段設定されている数十個の商品を買わなくてはならない(必要だから)
という条件のもと、毎年の予算ちょうどもしくは、もっとも近い値(超えてよい)となる組み合わせを算出できる術を探しています。
組み合わせの条件は次のようにしたいと思っています。

・商品1つ1つに優先順位を設定しており、毎年に買う商品は優先順位の高い順から選ぶ
(ただし、同一の優先順位もあり得るため、その場合は並んだ順で良い)
・予算を超えた場合は、次の年へ先送り、足りない場合は、次の年から前倒しが可能

Excelのソルバーでは、優先順位の概念を組み込むことができなかったので、いろいろ探してみましたが、良いものがありませんでした。
pythonやvbaで良い方法はありませんか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2020/03/10 10:55

優先順位をどのように考えるかによってソルバーに落とし込める可能性があるかと思います。逆にそのような考え方をしないと、pythonで実現しようとしたとしても難しくなるかと思われます。 ある条件の場合、その優先度を考えるとどのような選択になるのか、ある程度具体的な例を出していただかないと、回答案も得られにくいのではないかと思いました。(例では数十個ではなく、3個などで良い) 月々のことは考えなくて良いのか、優先度が高い方から買えるだけ買って、余った金額の中から、次のという考え方なのかなど。(組合せ最適化問題ですよね)
tiitoi

2020/03/10 11:46

「優先順位の高い順」と「もっとも近い値にする」の条件はどちらが優先されるのでしょうか?
stdio

2020/03/11 01:52

自分でルール決めて、まずはやってみましょう。
Lhankor_Mhy

2020/03/11 08:37 編集

たとえば、「予算1000円、Aが152円、Bが65円、Cが11円として、予算超過分を最も少なくするABCの購入個数を求めよ」という理解で合っていますか? (優先順位がなんのために存在するのかわかりませんが) ナップザック問題じゃないですかねこれ?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問