Условия: 1. Есть стартовое число bi. 2. Есть процентные характеристики, показывающие сопротивление этого числа к определенным факторам(эффективное значение числа bi с учетом сопротивления указаны в таблице raw). 3. Есть возможность добавить 8 модификаторов, каждый из которых увеличивает эффективное значение на 20% 4. К каждому модификатору можно добавить 2 свойства. (Одно из массива М, другое из Е). Эти свойства влияют либо на сопротивление, либо на дополнительный % прироста. 5. Модификаторы складываются.
Задача: Подобрать такую комбинацию этих модификаторов, чтобы значение эффективной суммы было максимальным.
П.С. Мне самому хочется разобраться, поэтому желательно сразу не давать готовый ответ, а просто ответить с помощью каких инструментов вы бы решили эту задачу. Если будете выгружать готовый ответ, просьба писать, что это готовое решение, либо прятать его в спойлер.
Условия: 1. Есть стартовое число bi. 2. Есть процентные характеристики, показывающие сопротивление этого числа к определенным факторам(эффективное значение числа bi с учетом сопротивления указаны в таблице raw). 3. Есть возможность добавить 8 модификаторов, каждый из которых увеличивает эффективное значение на 20% 4. К каждому модификатору можно добавить 2 свойства. (Одно из массива М, другое из Е). Эти свойства влияют либо на сопротивление, либо на дополнительный % прироста. 5. Модификаторы складываются.
Задача: Подобрать такую комбинацию этих модификаторов, чтобы значение эффективной суммы было максимальным.
П.С. Мне самому хочется разобраться, поэтому желательно сразу не давать готовый ответ, а просто ответить с помощью каких инструментов вы бы решили эту задачу. Если будете выгружать готовый ответ, просьба писать, что это готовое решение, либо прятать его в спойлер.Elrendel
Сопротивления подсчитываются по сложной формуле, но в этом примере я все формулы проставил.
Пример 1 (Лист еx1): Все 8 модификаторов одинаковые. Из массива М выбран 4 вариант (all) из массива E выбран 3 вариант (t) получаем 8 раз +17 процентов ко всем сопротивлениям кроме t (тут больше на 2), однако прирост эффективности теперь не 20%, а 18,6% из-за свойства в массиве Е. Суммарный прирост эффективности в 149%. Эффективная сумма:18620
Пример 2 (Лист еx2): 4 модификатора увеличивают сопротивления, 4 - эффективность. На сопротивления: Из массива М выбран 4 вариант (all) из массива E выбран 4 вариант (hea) На эффективность: Из массива М выбран 5 вариант (hea) из массива E выбран 4 вариант (hea) получаем 4 раза +13 процентов ко всем сопротивлениям и суммарный прирост эффективности в 490%. Эффективная сумма:32005
изначально пробовал поиск решения, но возникли проблемы с ограничениями. Но если вы говорите, что через него можно - буду пробовать дальше.
А то сейчас уже хочу на VBA написать код с перебором всех комбинаций и сохранением максимума)))
Да, конечно.
Сопротивления подсчитываются по сложной формуле, но в этом примере я все формулы проставил.
Пример 1 (Лист еx1): Все 8 модификаторов одинаковые. Из массива М выбран 4 вариант (all) из массива E выбран 3 вариант (t) получаем 8 раз +17 процентов ко всем сопротивлениям кроме t (тут больше на 2), однако прирост эффективности теперь не 20%, а 18,6% из-за свойства в массиве Е. Суммарный прирост эффективности в 149%. Эффективная сумма:18620
Пример 2 (Лист еx2): 4 модификатора увеличивают сопротивления, 4 - эффективность. На сопротивления: Из массива М выбран 4 вариант (all) из массива E выбран 4 вариант (hea) На эффективность: Из массива М выбран 5 вариант (hea) из массива E выбран 4 вариант (hea) получаем 4 раза +13 процентов ко всем сопротивлениям и суммарный прирост эффективности в 490%. Эффективная сумма:32005
Elrendel, непонятна логика формирования столбца "add %" исходных данных. К тому же: можно ли создать формулу общего вида для любой ячейки исходных данных (область таблицы с зеленой заливкой ), которая бы учитывала все её возможные изменения, типа:
Код
add b = (столбец "b" массива M) + (столбец "b" массива E)
, где
Код
столбец "b" массива M
- означает выбор любого значения из столбца "b" массива М.
Elrendel, непонятна логика формирования столбца "add %" исходных данных. К тому же: можно ли создать формулу общего вида для любой ячейки исходных данных (область таблицы с зеленой заливкой ), которая бы учитывала все её возможные изменения, типа:
Код
add b = (столбец "b" массива M) + (столбец "b" массива E)
, где
Код
столбец "b" массива M
- означает выбор любого значения из столбца "b" массива М.NikitaDvorets
логика формирования столбца "add %" исходных данных
это сумма выбранного значения в столбце "%" из массива М и массива Е. например во втором примере первые четыре модификатора: я выбираю свойство all массива М, соответственно b=17,k=17, t=17, %=0 из массива Е выбираю свойство hea , соответственно b=-2,k=-2, t=-2, %=8,4 Складываем, в результате b=15,k=15, t=15, %=8,4 Потом прибавляем базовые 20% и получаем 28,4% прироста по строке.
можно ли создать формулу общего вида для любой ячейки исходных данных
не могу ответить можно ли, но хочу напомнить, что если выбрать какое либо свойство массива, то строка выбирается целиком по всем параметрам этого массива.
логика формирования столбца "add %" исходных данных
это сумма выбранного значения в столбце "%" из массива М и массива Е. например во втором примере первые четыре модификатора: я выбираю свойство all массива М, соответственно b=17,k=17, t=17, %=0 из массива Е выбираю свойство hea , соответственно b=-2,k=-2, t=-2, %=8,4 Складываем, в результате b=15,k=15, t=15, %=8,4 Потом прибавляем базовые 20% и получаем 28,4% прироста по строке.
можно ли создать формулу общего вида для любой ячейки исходных данных
не могу ответить можно ли, но хочу напомнить, что если выбрать какое либо свойство массива, то строка выбирается целиком по всем параметрам этого массива.Elrendel