Страницы: 1
RSS
Перебор значений для получения результата с двумя знаками после запятой
 
Доброе утро, друзья!

Поставлена передо мной непосильная задача, возможно для кого-то совершенно обычная.
Есть спецификация с несколькими параметрами:
-кол-во метров-цена за 1 метр-количество месяцев
-цена за все метры за 1 месяц
-общая сумма по строке
Количество строк в спецификации небольшое, максимум 10.

Неизменными являются количество метров и итоговая сумма по всей спецификации. Есть примерная цена за 1 метр. (выделена желтым). Меняя ее необходимо добиться, чтобы получающиеся значения за месяц и итого по строке были до 2 знаков после запятой без применения формул округления. А также сумма всех итогов строк должна совпадать с требуемым значением.
Ручной перебор утомителен и пока не приносит результатов.
Применение функции "Поиск решения" также не принесло успеха (либо я не умею ей пользоваться), так как она не округляет значения до 2 знаков после запятой и ищет только по одной строке.

Прошу помочь!
 
Доброе время суток.
Цитата
Александр Иванов написал: (либо я не умею ей пользоваться
А ещё вы числа цифрами называете :)
 
Цитата
Андрей VG написал: А ещё вы числа цифрами называете
Это как бы пример)
Я не совсем понял Ваше решение. Вы тысячи сделали миллионами. А дальше что?
И как Вы это решение получили?

Цена за 1 метр, цена за месяц и сумма итого не должны быть более 2 знаков после запятой.
 
Цитата
Александр Иванов написал: Вы тысячи сделали миллионами
У-у, как всё запущено-то :)  Вы хотели вычислений с точностью до копейки (собственно той точности вычислений до двух знаков после запятой). Я и перевёл цены и конечную сумму в копейки и добавил в поиске решения целочисленное ограничение. Тем самым, если поделить цены на 100 и конечную сумму на 100, вернувшись к рублям, мы и получим то, что вы хотели.
 
Андрей VG,А можно скриншот настроек поиска решения?

Просто Вы в решении умножили всё на 1000, а не на 100, вот я и спросил. Поэтому и вылезает третий знак после запятой.
 
Цитата
Александр Иванов написал:
всё на 1000, а не на 100
Во я накосячил, так накосячил. Приношу свои извинения :(
 
Андрей VG, Огромное спасибо! Расчет получился отличный.
Но почему-то к сожалению Ваш метод я не могу применить к оставшимся решениям.
Решения действительно невозможно найти или я опять что-то не так делаю?
Посмотрите, пожалуйста! Я уже умножил значения на 100.
 
Цитата
Александр Иванов написал:
Решения действительно невозможно найти или я опять что-то не так делаю?
Попробуйте ещё раз запустить - вполне возможно из-за таймингов времени не хватило. Может вам стоит ещё к другим AddIn поиска решения присмотреться? Свет клином на Microsoft не сошёлся. Посмотрите в ответах MCH - он не раз упоминал хорошее альтернативное решение.
Updated
Если не ошибаюсь, то вот этот OpenSolver
Изменено: Андрей VG - 29.06.2020 12:51:07
 
Андрей VG,Спасибо большое за помощь! Я с удовольствием разберусь в предложенном Вами другом решении. Но, боюсь, не на этой задаче.
Этот расчет мне необходимо сделать сегодня до конца дня.
Последние два расчёта (Рязань и Тула) так и не вывелись поиском решения в ровные цифры.
У меня либо компьютер слабенький, либо это действительно долго считается: Решается 150-ти тысячная подзадача а решения всё нет.(((
Страницы: 1
Наверх