Comparando várias opções de preço para muitos clientes por meio de algoritmos

Nós temos 1.000.000 de clientes. O custo dos produtos vendidos para cada um deles pode ser expresso como preço A ou preço B.

Preço A << Preço B.

O preço A e o preço B não são lineares entre si. Em alguns casos, B é 2 vezes mais caro, em alguns é 100 vezes.

custo de todos os clientes em A é

min ((soma (A) / contagem (A)), 100) * contagem (A) Efetivamente, o custo médio de todos os clientes em A será arredondado para 100 se for menor que 100.

Não existe tal restrição em B.

Eu gostaria de gastar o mínimo de dinheiro em suas mercadorias.

Como eu maximizo

custo = min ((soma (A) / contagem (A)), 100) * contagem (A) + soma (B) Eu continuo vendo isso como uma forma de um problema de mochila dupla, mas não consigo acertar. ..

Eu provavelmente estaria resolvendo isso em Python, muito provavelmente, embora duvide que isso importe muito.

Fiz análises manuais atribuindo pontuações a xyz e filtrando com base nisso, estou interessado em mais de uma solução computacional.

Qualquer abordagem para recomendar?

questionAnswers(1)

yourAnswerToTheQuestion