Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 117 След.
Сортировка по географической близости
 
Цитата
mutkoti написал:
чтобы каждая следующая строка (точка) была ближайшей географически к предыдущей.
По своей формулировке задача похожа на задачу коммивояжера.
Сколько всего координат? В зависимости от количестве можно применять разные решения от полного перебора (до 12-13 точек), динамического программирования (20-25 точек), МВиГ (применяемость зависит от графа), до жадного (от 30 и выше) с небольшой оптимизацией или применять генетические алгоритмы, муравьиных колоний и др.

PS: решал задачу коммивояжера для нескольких сотен точек, отклонения от оптимальных решений не более 1-2%
Изменено: MCH - 14 Фев 2019 08:33:50
Расчет выпадения вариантов на первую цифру.
 
кажется понял
сколько вариантов будет если первое число 1, остальные четыре любые от 2 до 36: ЧИСЛКОМБ(36-1;5-1) = 52360
если первое число - 2, то остальные четыре от 3 до 36: ЧИСЛКОМБ(34;4) = 46376

и т.п.
Изменено: MCH - 13 Фев 2019 14:18:32
Расчет выпадения вариантов на первую цифру.
 
Цитата
Andrew Truck написал:
Известно что кол-во вариантов равно 376991.
ЧИСЛКОМБ(36;5) = 376992

Что означает "выпадения на первую цифру в лотерее"?
[ Закрыто] Альтернатива РАЗНДАТ обычными формулами
 
Если нужно быстро посчитать количество дней/месяцев между датами, то можно воспользоваться функцией ДНЕЙ360(), в ней есть разные варианты (методы)
Например, так:
Код
=ЦЕЛОЕ(ДНЕЙ360(A1;B1)/30)&" мес "&ОСТАТ(ДНЕЙ360(A1;B1);30)&" дн"

РАЗНДАТ имеет определенные ошибки, Владимир дал ссылку

Наверняка задача имеет свое прикладное назначение и есть методология для подсчета (лет, месяцев, дней)
например, в Постановление Правительства РФ от 24 июля 2002 г. N 555"Об утверждении Правил подсчета и подтверждения страхового стажа для установления трудовых пенсий" в п. 35 указано:
Цитата
35. Исчисление периодов работы ... производится в календарном порядке из расчета полного года (12 месяцев). При этом каждые 30 дней указанных периодов переводятся в месяцы, а каждые 12 месяцев этих периодов переводятся в полные годы.
Думаю, что функция ДНЕЙ360() как раз для этого случая.
Распределение вещества по фасовкам
 
данная задача относится к классу оптимизационных задач
под оптимальностью я понимаю, что нужно взять такое количество упаковок, чтобы свободное пустое место было минимальным,
либо присвоить каждой таре ее стоимость и минимизировать общую стоимость тары необходимое для размещения груза
Оптимальное решения находится линейным программированием, если правильно составить модель, решить можно через "поиск решения" или макросом.
Формулами можно только применить жадный алгоритм, который будет далек от оптимального распределения.
Подсчет, насколько месяцев хватит товара
 
Формулы массива вводятся нажатием трех клавиш: Ctrl+Shift+Enter
Алгоритм подбора оптимальных деталей по длине
 
Вопросы:
1. приоритета относительно наименьшего кол-во отрезов нет?
2. в реальности сколько различных элементов?
3. их количество не ограничено?
4. указанные размеры конструкции и элементов реалистичные?
5. что делать с обрезками, они выбрасываются?

Алгоритм можно свести к задаче о рюкзаке,
каждому элементу присваивается стоимость (например из расчета размера или веса или т.п.)
если от элемента отрезается часть, то она выбрасывается и стоимость засчитывается как за полный элемент
необходимо собрать рюкзак необходимой длины наименьшей стоимости (ну или с другими ограничениями)
Для решения данной задачи подойдет динамическое программирование
Изменено: MCH - 31 Янв 2019 14:06:13
Распределение людей по командам
 
Нашел решение с помощью целочисленного линейного программирования, в качестве решателя использовал не "поиск решения", а OpenSolver
в моделе заложено обязательное количество в команде - 5 человек, и не менее одного человека каждой профессии
Теоретически решения полученные данным способом должны быть лучше, чем это делает жадный алгоритм, но времени может быть затрачено существенно больше
Построение числовых комбинаций для лото из заданных чисел
 
https://www.planetaexcel.ru/forum/index.php?FID=1&PAGE_NAME=message&TID=63185
Распределение людей по командам
 
Раскидал команды вручную по принципу "жадного" алгоритма с последующей перестановкой
"Поиск решения" не смог найти такого варианта
Сумма прописью на украинском (и на русском и на других языках)
 
http://www.excelworld.ru/forum/3-9902-1
Подсчет, насколько месяцев хватит товара
 
По данной структуре данных получилась не оптимальная и большая формула
Формула выдающая последовательность только из чисел, соответствующих контрольному номеру
 
Свел решения в один файл, на всякий случай сделал второй вариант своей формулы (через СУММ, без МУМНОЖ), где ошибка?
не увидел ответа что делать с остатком деления на 11, когда остается число 10, оставляем "0" или пропускаем такое число?
Формула выдающая последовательность только из чисел, соответствующих контрольному номеру
 
Вариант:
Код
=ОТБР(A1+10;-1)+ОСТАТ(ОСТАТ(МУМНОЖ(--ПСТР(A1+10;{1;2;3;4;5;6;7};1);{1:2:3:4:5:6:7});11);10)
В ячейке показана одна цифра, но в сумму должна идти другая.
 
несколько различных вариантов по указанному вопросу:
http://www.excelworld.ru/forum/7-6389-1
Расчет зарплаты сотрудников, необходимо расчитать зп сотрудников
 
чуть сократил свою формулу, ссылка на ячейку E5
Код
=10000+ПРОСМОТР(E5;{0:80000:170000:300000};{0:13600:24400:34800}+{17:12:8:25}%*(E5-{0:80000:170000:300000}))


PS:
Понравилось решение с массивом процентов от БМВ
Расчет зарплаты сотрудников, необходимо расчитать зп сотрудников
 
Код
=10000+ПРОСМОТР(B6;{0:80000:170000:300000};{0:13600:24400:34800})+ПРОСМОТР(B6;{0:80000:170000:300000};{0,17:0,12:0,08:0,25}*(B6-{0:80000:170000:300000}))
Поиск ближайщей среды от текущей даты
 
Для разнообразия:
Код
=ОКРУГЛТ(СЕГОДНЯ()-1;7)+4
Поиск ближайщей среды от текущей даты
 
Цитата
sokol92 написал:
И для коллекции: первая среда не ранее текущей даты:
чуть короче:
Код
=СЕГОДНЯ()+ОСТАТ(4-СЕГОДНЯ();7)
Перебор значений для генерации маркировки
 
Решение на формулах, по номеру от 1 до 47 523 840 выдает его уникальный код.
Легко переделать на VBA, т.к. математика не сложная
Pазделить диапазон с данными на четыре равных диапазона
 
Еще вариант жадным алгоритмом
Pазделить диапазон с данными на четыре равных диапазона
 
Pez, приложите пример Ваших данных и того что нужно получить
Можно решить "жадным алгоритмом" или воспользоваться готовым решением, которые были на этом (и не только на этом) форуме
Посчитать сумму всех чисел, разделенных " / " в столбце, Необходимо посчитать сумму чисел в столбце, где в каждой ячейке присутствует спец-символ
 
Код
=СУММПРОИЗВ(--ПСТР(ПОДСТАВИТЬ(A4:A12;"/";ПОВТОР(" ";9));{1;9;18};9))
автоматическое округление до двух значащих цифр после запятой
 
Код
=ОКРУГЛ(A2;МАКС(2-LOG(A2);2))

если нужно ограничить не менее 2х знаков после запятой
Первый приход - первый расход
 
Простая реализация на формулах
Рассчитать оптимальное распределение штук по коробам
 
Задачу можно отнести к классу задач "об упаковки в контейнеры" (или к "задаче линейного раскроя")
Вначале определяем количество целых коробок, на данном примере их 6 - это когда заказ больше 94000 и не помещается в одну коробку
далее остатки заказов от деления на 94000 размещаем в виде сборных грузов и несколько заказов размещаем в одну коробку, здесь можно применять различные алгоритмы.
Есть продвинутые решения
Но можно решать и "жадным алгоритмом", если не требуется особое качество, а важна скорость
На сколько пример данных реалистичен? сколько всего различных деталей попадает в заказ?
Сравнить числа в нескольких ячейках и найти определённую последовательность
 
данные очень похожи на лотерейные розыгрыши, типа 6 из 49 и т.п.
несколько вариантов во вложении
Изменено: MCH - 4 Дек 2018 19:30:43
Как вставить тире в слово
 
формула массива:
Код
=ЗАМЕНИТЬ(A2;ПОИСКПОЗ(;-ПСТР(A2&"|";СТРОКА($1:$9);2))+2;;"-")
Вычислить и перемножить два значения, записанные в виде дробей
 
Еще вариант
Код
=ПРОИЗВЕД(ПСТР(ПОДСТАВИТЬ(A2:B2;"/";ПОВТОР(" ";9));{1:9};9)^{1:-1})
Просчет цены отправления конверта в зависимости от его веса.
 
Вариант, если нулевого и отрицательного веса не бывает:
Код
=19,5-ЦЕЛОЕ(-E2/20)*2,5

с костылем:
Код
=МАКС(19,5-ЦЕЛОЕ(-E2/20)*2,5;22)
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 117 След.
Наверх