У меня есть значение, и я знаю, что это единицы
metersmn/md * kgkn/kd * ssn/sd * KKn/Kd * AAn/Ad
Примечание: показатели рациональны, единицы m0.5 действительны.
Вопрос в том, как подобрать, как разбить агрегаты на что-то более компактное
например, если
md=kd=sd=Kd=Ad=1
mn=Kn=An=0
kn=1
sn=-1
Я могу использовать Н / м
Я подозреваю, что это некое подмножество задачи дискретной оптимизации.
Обновил ответ соответственно





Определите сложность как общее количество символов: единица в степени 1 имеет сложность 1, любая другая целая степень равна 2, дробная степень равна 3. Попробуйте несколько примеров и посмотрите, каково это. Возможно, вам придется использовать другие числа, кроме 1, 2, 3 для сложностей.
Попробуйте выполнить оптимизацию с помощью жадного алгоритма: на каждой итерации вычитайте составную единицу (возможно, в дробную или отрицательную степень), которая максимально упрощает (делает целевую функцию как можно меньше). У меня есть подозрение, что жадность будет работать, потому что единицы разработаны таким образом, что если произведение / соотношение двух единиц проще, чем каждая из них, это будет отдельная единица.
Вы, вероятно, имели в виду метры ^ (mn-md) * kg ^ (kn-kd) * s ^ (sn-sd) * K ^ (Kn-Kd) * A ^ (An-Ad)