Давайте разберем на примерах основные формулы комбинаторики: сочетания, размещения, перестановки без повторений и научимся вычислять их с помощью встроенных функций Excel.
Ниже вы найдете для каждой формулы инструкции по вычислению в эксель, пример задачи, ссылку на калькулятор и видеоурок и шаблон Excel. Удачи в изучении!
Понравилось? Добавьте в закладки
Как выбрать формулу комбинаторики?
Нужно последовательно (см. схему выше) ответить на несколько вопросов:
- Сколько у нас есть объектов (число $n$)?
- Важен ли их порядок в комбинации?
- Могут ли встречаться повторяющиеся элементы?
- Нужно выбрать все элементы или только $klt n$?
Отвечая на эти вопросы, двигаемся по стрелкам схемы и получаем название формулы комбинаторики:
Схема выбора формул с примерами задач
Консультируем по решению задач комбинаторики
Перестановки в Excel
Пусть имеется $n$ различных объектов. Будем переставлять их всеми возможными способами (число объектов остается неизменными, меняется только их порядок). Получившиеся комбинации называются перестановками, а их число равно
$$P_n=n!=1cdot 2cdot 3 cdot … cdot (n-1) cdot n$$
Символ $n!$ называется факториалом и обозначает произведение всех целых чисел от $1$ до $n$. По определению, считают, что $0!=1, 1!=1$.
Подробнее: факториал в эксель.
Для нахождения числа перестановок в Excel можно использовать одну из двух функций:
=ПЕРЕСТ($n$;$n$) или =ФАКТР($n$), где $n$ — число переставляемых объектов.
Задача. Сколькими способами можно расставить 10 различных книг на одной полке?
Вводим число объектов 10 и получаем ответ: 3628800 способов.
В режиме формул это выглядит так:
Еще: онлайн калькулятор перестановок.
Перестановки с повторениями в Excel
Пусть имеется $n$ объектов различных типов: $n_1$ объектов первого типа, $n_2$ объектов второго типа,… $n_k$ объектов $k$-го типа. Сколькими способами можно переставить все объекты между собой?
Будем переставлять $n$ объектов всеми возможными способами (их будет $n!$). Но так как некоторые объекты совпадают, итоговое число будет меньше. В частности, $n_1$ объектов первого типа можно переставлять между собой $n_1!$ способами, но они не меняют итоговую перестановку. Аналогично для всех остальных объектов, поэтому число перестановок с повторениями есть
$$ P_n (n_1,n_2,…,n_k)=frac{n!}{n_1! cdot n_2!cdot … cdot n_k!}. $$
Для нахождения числа перестановок в Excel будем использовать функцию =ФАКТР(), которая находит факториал чисел и обычные действия (умножение, деление).
Задача. Сколько различных слов можно составить из букв слова «колокол»?
Вводим число букв $n=7$, а также $n_1=2$ (2 буквы «к»), $n_2=3$ (3 буквы «о»), $n_3=2$ (2 буквы «л»), и получаем ответ: 210 слов.
В режиме формул это выглядит так:
Еще: онлайн калькулятор перестановок c повторениями.
Размещения в Excel
Пусть имеется $n$ различных объектов. Будем выбирать из них $k$ объектов и переставлять всеми возможными способами между собой (то есть меняется и состав выбранных объектов, и их порядок). Получившиеся комбинации называются размещениями из $n$ объектов по $k$, а их число равно
$$A_n^k=frac{n!}{(n-k)!}=ncdot (n-1)cdot … cdot (n-k+1) $$
Для нахождения числа размещений в Excel используем функцию =ПЕРЕСТ($n$;$k$).
Задача. В группе учится 10 студентов. Нужно выбрать из них 3 человек на должности старосты, заместителя и дежурного. Сколькими способами можно это сделать?
Вводим $n=10$, $k=3$ и получаем ответ: 720 способов.
В режиме формул это выглядит так:
Еще: онлайн калькулятор размещений.
Размещения с повторениями в Excel
Число размещений с повторениями из $n$ объектов по $k$ можно найти по формуле
$$overline{A}_n^k=ncdot ncdot … cdot n = n^k. $$
Для вычисления в Excel используем функцию =СТЕПЕНЬ($n$;$k$).
Задача. Сколько трехзначных номеров можно составить для автомобилей, используя все возможные цифры от 0 до 9?
Вводим $n=10$ (количество возможных цифр), $k=3$ (количество цифр в номере) и получаем ответ: 1000 номеров.
В режиме формул это выглядит так:
Еще: онлайн калькулятор размещений с повторениями.
Сочетания в Excel
Пусть имеется $n$ различных объектов. Будем выбирать из них $k$ объектов все возможными способами (то есть меняется состав выбранных объектов, но порядок не важен). Получившиеся комбинации называются сочетаниями из $n$ объектов по $k$, а их число равно
$$C_n^k=frac{n!}{(n-k)!cdot k!} $$
Для нахождения числа сочетаний в Excel используем функцию =ЧИСЛКОМБ($n$;$k$).
Задача. В поход пошло 10 учеников. Нужно выбрать из них 3, которые понесут флажки. Сколькими способами можно это сделать?
Вводим $n=10$, $k=3$ и получаем ответ: 120 способов.
В режиме формул это выглядит так:
Еще: онлайн калькулятор сочетаний.
Сочетания с повторениями в Excel
Количество сочетаний с повторениями из $n$ объектов по $k$ можно найти по формуле
$$overline{C}_n^k=C_{k+n-1}^k=frac{(k+n-1)!}{(n-1)!cdot k!}$$
Для вычисления в Excel используем функцию =ЧИСЛКОМБ($n+k-1$;$k$).
Задача. В магазине продаются мячики трех цветов: желтые, красные и синие. Родительский комитет собирается купить 10 мячиков. Сколько возможных вариантов выбора у них есть?
Вводим $n=3$ (вида объектов), $k=10$ (нужно выбрать) и получаем ответ: 66 способов.
В режиме формул это выглядит так:
Еще: онлайн калькулятор сочетаний с повторениями.
Полезные ссылки
Для собственных расчетов скачайте файл: Комбинаторика в Excel.
|
|
Решебник задач по комбинаторике
Обзорная статья, в которой приведены основные функции
MS
EXCEL
для вычисления количества перестановок, сочетаний и размещений. Рассмотрены варианты комбинаций без повторений и с повторениями (выборка с возвращением).
Чтобы не запутаться в терминологии комбинаторики, в ее формулах и обозначениях, предлагаем воспользоваться нижеследующей диаграммой:
В разделе Комбинаторика вы можете найти статьи, касающиеся теории:
Перестановки без повторений: Комбинаторика в MS EXCEL
Перестановки с повторениями: Комбинаторика в MS EXCEL
Размещения без повторений: Комбинаторика в MS EXCEL
Размещения с повторениями: Комбинаторика в MS EXCEL
Сочетания без повторений: Комбинаторика в MS EXCEL
Сочетания с повторениями: Комбинаторика в MS EXCEL
Комбинации элементов из нескольких множеств: Комбинаторика в MS EXCEL
Для вычисления количества перестановок в MS EXCEL имеется функция ФАКТР(n), также можно использовать функцию ПЕРЕСТ(n;n) с одинаковыми аргументами, равными количеству элементов множества. Для вычисления количества размещений имеется функция ПЕРЕСТ(n;k), для сочетаний используйте функцию ЧИСЛКОМБ(n;k). Подробности применения этих функций см. в вышеуказанных статьях.
Оглавление:
- 1 Как сделать комбинаторику в excel? — Разбираем подробно
- 1.1 Перестановки без повторений
- 1.2 Перестановки с повторениями
- 1.3 Размещение без повторений
- 1.4 Размещение с повторениями
- 1.5 Сочетания без повторений
- 1.6 Сочетания с повторениями
- 1.7 Алгоритм
Комбинаторика в Excel
Комбинаторика — раздел математики, изучающий дискретные объекты, множества (сочетания, перестановки, размещения элементов) и отношения на них. Термин комбинаторика был введён в математический обиход Лейбницем, который в 1666 году опубликовал свой труд «Рассуждения о комбинаторном искусстве». Excel поддерживает ряд функций комбинаторики. Чтобы разобраться, какую формулу использовать, следует ответить на ряд вопросов:
- Исходное множество содержит только уникальные элементы, или некоторые из них могут повторяться?
- Операция выполняется со всеми элементами множества, или только с некоторой выборкой из них?
- Важен ли порядок элементов в выборке?
- После выбора элемента мы его возвращаем назад?
Рис. 1. Дерево решений, какую формулу комбинаторики использовать
Скачать заметку в формате Word или pdf, примеры в формате Excel
Перестановки без повторений
Возьмем несколько различных элементов (предметов) и будем переставлять их всевозможными способами, оставляя неизменным их число и меняя только их порядок (рис. 2). Каждая из получившихся таким образом комбинаций носит название перестановки. Перестановкой из n элементов называется упорядоченное множество, составленное из всех элементов множества.
Рис. 2. Перестановки (картинка взята здесь)
Если все n элементы разные, то число перестановок обозначается Pn от perturbation.
С другой стороны, произведение n первых натуральных чисел называется n-факториал и обозначается n!
Например
По определению: 1! = 1; 0! = 1.
Функция в Excel =ФАКТР(n). Факториал растет очень быстро. Существенно быстрее экспоненты (рис. 3).
Рис. 3. Расчет числа перестановок без повторений с помощью факториала
Перестановки с повторениями
Если в основном n множестве не все элементы разные, то число перестановок будет меньше n! Например, если наше множество состоит из трех яблок и одной груши, то всего возможно 4 перестановки (рис. 4). Груша может быть первой, второй, третьей или четвертой, а яблоки неразличимы).
Рис. 4. Перестановки с повторениями (картинка найдена здесь)
В общем случае, можно сказать: последовательность длины n, составленная из k разных символов, первый из которых повторяется n1 раз, второй – n2 раз, третий – n3 раз, …, k-й – nk раз (где n1 + n2 + … + nk = n) называется перестановкой с повторениями из n элементов.
Пример. Сколько различных пятибуквенных слов можно составить из букв слова «манна»?
Решение. Буквы а и н повторяются 2 раза, а буква м один раз.
Размещение без повторений
Размещением из n элементов по m называется упорядоченный набор из m различных элементов, выбранных из n-элементного множества (все элементы множества уникальны; позиции элементов в выборке важны). Число размещений обозначается от arrangement.
Например, два элемента из трех можно выбрать и расположить шестью способами (рис. 4):
Рис. 5. Размещение без повторений (картинка из презентации)
Если m = n количество элементов совпадает с количеством имеющихся мест для размещения. Знаменатель в формуле (4) превращается в 0! = 1. Остается только числитель n! А это – изученная выше перестановка без повторений; см. формулу (1).
Название функции в Excel несколько обескураживает. Но… что поделаешь: =ПЕРЕСТ(n;m)
Рис. 6. Размещение без повторений; обратите внимание на смешанные ссылки, которые позволяют протянуть формулу на всю таблицу
Размещение с повторениями
Размещение с повторениями по смыслу отличается от перестановок с повторением. Перестановки с повторением – это операция над множеством, которое состоит из нескольких видов элементов, так что каждый вид представлен несколькими одинаковыми элементами. Размещение с повторениями – выборки из множества с возвращением выбранного элемента назад перед каждым новым выбором.
Например, если у вас множество, включающее грушу, яблоко и лимон, и вам нужно выбрать два элемента, так что после первого выбора вы возвращаете выбранный предмет назад, то существует девять различных комбинаций (рис. 7).
Рис. 7. Размещение с повторениями
В общем случае размещение с повторениями или выборка с возвращением – это размещение «предметов» в предположении, что каждый «предмет» может участвовать в размещении несколько раз. По правилу умножения количество размещений с повторениями из n по k:
Задача. Сколько различных номеров можно составить в одном коде региона?
Подсказка. В номере используется 12 букв алфавита, также существующих и в латинском алфавите (А, В, Е, К, М, Н, О, Р, С, Т, У, Х).
Рис. 8. Номер автомобиля
Решение. Можно воспользоваться формулой для размещения с повторениями:
Каждую цифру можно выбрать 10 способами, а всего цифр 3, при этом они могут повторяться, и их порядок важен. Каждую букву можно выбрать 12 способами, при этом буквы могут повторяться, и их порядок важен.
Сочетания без повторений
Сочетаниями из n множества по m элементов называются комбинации, составленные из данных n элементов по m элементов, которые различаются хотя бы одним элементом (в сочетаниях не учитывается порядок элементов).
Например, два элемента из 4 сочетаются 6 способами (порядок следования не важен):
Рис. 9. Сочетания без повторений из 4 по 2
Сочетания без повторений образуют знаменитый треугольник Паскаля (рис. 10). В этом треугольнике на вершине и по бокам стоят единицы. Каждое число равно сумме двух расположенных над ним чисел. Строки треугольника симметричны относительно вертикальной оси. Числа в строках, составляющие треугольник Паскаля, являются сочетаниями
где n – номер строки, m – номер элемента в строке, начиная с нулевого. Например, в строке 7:
Рис. 10. Треугольник Паскаля; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке
В Excel используется функция =ЧИСЛКОМБ(n;m).
Сочетания с повторениями
Сочетания с повторениями по смыслу похожи на размещение с повторениями – это выборки из множества с возвращением выбранного элемента назад перед каждым новым выбором. При этом порядок в выборке не важен.
Например, два предмета из четырех можно выбрать 10 способами, если после каждого выбора предмет возвращается назад (рис. 11).
Рис. 11. Сочетания с повторениями
В общем случае, число сочетаний с повторениями:
Для нашего примера с фруктами
В Excel для подсчета числа сочетаний с повторениями используется функция =ЧИСЛКОМБА(n;m). В нашем примере =ЧИСЛКОМБА(4;2) = 10.
Калькулятор ниже предназначен для генерации всех сочетаний из n по m элементов.
Число таких сочетаний, как можно рассчитать с помощью калькулятора Элементы комбинаторики. Перестановки, размещения, сочетания.
Описание алгоритма генерации под калькулятором.
Алгоритм
Комбинации генерируются в лексикографическом порядке. Алгоритм работает с порядковыми индексами элементов множества.
Рассмотрим алгоритм на примере.
Для простоты изложения рассмотрим множество из пяти элементов, индексы в котором начинаются с 1, а именно, 1 2 3 4 5.
Требуется сгенерировать все комбинации размера m = 3.
Сначала инициализуется первая комбинация заданного размера m — индексы в порядке возрастания
1 2 3 Далее проверяется последний элемент, т. е. i = 3. Если его значение меньше n — m + i, то он инкрементируется на 1.
1 2 4 Снова проверяется последний элемент, и опять он инкрементируется.
1 2 5 Теперь значение элемента равно максимально возможному: n — m + i = 5 — 3 + 3 = 5, проверяется предыдущий элемент с i = 2.
Если его значение меньше n — m + i, то он инкрементируется на 1, а для всех следующих за ним элементов значение приравнивается к значению предыдущего элемента плюс 1.
1 (2+1)3 (3+1)4 = 1 3 4
Далее снова идет проверка для i = 3.
1 3 5 Затем — проверка для i = 2.
1 4 5 Потом наступает очередь i = 1.
(1+1)2 (2+1)3 (3+1)4 = 2 3 4
И далее,
2 3 52 4 53 4 5 — последнее сочетание, так как все его элементы равны n — m + i.
Did you find apk for android? You can find new Free Android Games and apps.
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции ЧИСЛКОМБ в Microsoft Excel.
Описание
Возвращает количество комбинаций для заданного числа элементов. Функция ЧИСЛКОМБ используется для определения общего числа всех групп, которые можно составить из элементов данного множества.
Синтаксис
ЧИСЛКОМБ(число;число_выбранных)
Аргументы функции ЧИСЛКОМБ описаны ниже.
-
Число — обязательный аргумент. Количество элементов.
-
Число_выбранных — обязательный аргумент. Количество элементов в каждой комбинации.
Замечания
-
Числовые аргументы усекаются до целых чисел.
-
Если хотя бы один из аргументов не является числом, то #VALUE! значение ошибки #ЗНАЧ!.
-
Если число < 0, number_chosen < 0 или < number_chosen, то #NUM! значение ошибки #ЗНАЧ!.
-
Комбинацией считается любое множество или подмножество элементов независимо от их внутреннего порядка. Комбинации отличаются от перестановок, для которых порядок существен.
-
Число комбинаций определяется по следующей формуле, где число = n, а число_выбранных = k:
где
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости вы можете настроить ширину столбцов, чтобы видеть все данные.
Формула |
Описание |
Результат |
=ЧИСЛКОМБ(8;2) |
Возможные команды по два человека, которые могут быть сформированы из восьми кандидатов. |
28 |
Нужна дополнительная помощь?
Описание презентации по отдельным слайдам:
-
1 слайд
Тема №15.
Комбинаторика в Excel
19.06.2022
Лавлинский М.В., LavlinskiMV@mail.ru
Бенуа Мандельброт
(1924 — 2010)
Создатель фрактальной геометрии
Фрактал — математическое множество, обладающее свойством самоподобия
Не должно судить о ценности научного открытия, исходя из причин его совершения. -
2 слайд
I. Комбинаторные формулы в Excel
Задача 1. [Перестановки]
Функция в Excel: ФАКТР(n)
#. Сколькими способами можно развесить 10 цветных шаров на гирлянде?
Решение:
=ФАКТР(10)
Ответ: 3628800 -
3 слайд
Задача 2. [Размещения]
Функция в Excel: ПЕРЕСТ(n, k)
#. Сколькими способами можно расставить на полке 3 выбранных книги из 5 книг, имеющихся в наличии?
Решение:
=ПЕРЕСТ(5;3)
Ответ: 60 -
4 слайд
Задача 3. [Сочетания]
Функция в Excel: ЧИСЛКОМБ(n, k)
#. Сколькими способами можно выбрать 3 книги из 5, имеющихся в наличии?
Решение:
=ЧИСЛКОМБ(5;3)
Ответ: 10 -
5 слайд
II. Треугольник Паскаля
Задача 4. [ЧИСЛКОМБ]
При помощи Excel построить треугольник Паскаля.
Решение:
Способ основан на том, что треугольник Паскаля состоит из
Алгоритм:
1) Задать начальные значения параметров n и k -
6 слайд
2) Использовать функцию вычисления числа сочетания, учесть случай n<k. Использовать условное форматирование для ячеек <>0.
=ЕСЛИ($A2>=B$1;ЧИСЛКОМБ($A2;B$1);0) -
7 слайд
Задача 4. [сумма верхнего и левого элемента]
При помощи Excel построить треугольник Паскаля.
Решение:
Способ основан на использование прямоугольной ориентации треугольника Паскаля
Алгоритм:
В 1-ой строке и
1-ом столбце
установить
единицы
В остальных
ячейках
сумма верхнего и
левого элемента
=B1+A2 -
8 слайд
III. Треугольник Серпинского
(1915 год)
Если в треугольнике Паскаля все нечётные числа окрасить в чёрный цвет, а чётные — в белый, то образуется треугольник Серпинского.
В.Ф. Серпинский
(1882 — 1969) -
-
10 слайд
Задача 5. [связь треугольников Паскаля и Серпинского]
При помощи Excel построить треугольник Серпинского.Алгоритм:
Достаточно выписывать не коэффициенты, а только их четность.
1) Установить размер ячеек, 7 на 7 пикселей
2) Стать в ячейку B2
3) Выделить область B2:DY129 — для этого нажать Ctrl + G и в поле ссылка написать B2:DY129.
4) В строке формул написать: =ЕСЛИ(ИЛИ(СТРОКА()=2;СТОЛБЕЦ()=2);1;ОСТАТ(A2+B1;2))
5) Нажать Ctrl + Enter, чтобы заполнить подобной формулой всю выделенную область
6) Осуществить условное форматирование: для значений ячеек равных 1 указать цвет ячейки.
Возвращает номер строки
Возвращает номер столбца -
-
-
13 слайд
Домашнее задание
Лицей ИГУ, liguirk.ru
19.06.2022
Конспект
«15_[ДЗ]Комбинаторика в Excel+Подготовка к КР.doc»
КР «Элементы комбинаторики»
Для любознательных:
М. И. Бинимелис Басса — Новый взгляд на мир. Фрактальная геометрия
(Мир математики Т. 10) — 2014
Друзья,
создал новую тему для решения задач, связанных с комбинаторикой.
Решения интересны, как с помощью формул, так и c помощью VBA.
Формул для решения задач по комбинаторике в интернете много,
но вот способов генерации всех вариантов в Excel мало, а формулами еще меньше.
Задачу №1 вытащил отсюда.
У меня получилось 384 варианта(ручками).
Позиции 11, 12 и 59, 60 поправь.
Идея хорошая
Количество вариантов (формула массива):
=ПРОИЗВЕД(СТРОКА(A1:ИНДЕКС(A1:A20;B1))*2)
где В1 — количество пар (труб)
Отлично, Dmitr68
сдвинулись с мертвой точки.
=ПРОИЗВЕД(СТРОКА(ДВССЫЛ(«1:»&B1))*2)
формула массива
Интересная тема, оказалась эта КОМБИНАТОРИКА!
Пролистал эти книжки:
Р. Стенли «Перечислительная комбинаторика»;
Я.С. Бродский «Статистика. Вероятность. Комбинаторика»;
В.Я. Гельман «Решение математических задач средствами Excel»
Надо вникать!?
А здесь http://algolist.manual.ru/maths/combinat/sequential.php есть методы программирования комбинаторики (правда не в VBA).
Уважаемый Zorro2005, объясните, пожалуйста, 8!=40320, а по какому принципу Вы исключили ненужные перестановки до 384? Может все это возможно сделать с функциями ПЕРЕСТ, ФАКТ и ЧИСЛКОМБ, а не в ручную? Извините если что не так спросил, знаний своих пока не хватает!
Я все-таки хочу докопаться до истины для того, чтобы можно было использовать эту программу для стыковки любого количества труб (а не только 6 как в примере).
Спасибо за ответ!
=ПРОИЗВЕД(СТРОКА(ДВССЫЛ(«1:»&B1))*2)
формула массива
Куда внести изменения? В столбец R (Конец)?
Цитата: rusttemm от 05.01.2011, 23:07
…а по какому принципу Вы исключили ненужные перестановки до 384? Может все это возможно сделать с функциями ПЕРЕСТ, ФАКТ и ЧИСЛКОМБ, а не в ручную? Извините если что не так спросил, знаний своих пока не хватает!
Я все-таки хочу докопаться до истины для того, чтобы можно было использовать эту программу для стыковки любого количества труб (а не только 6 как в примере).
Так мы и пытаемся сделать не в ручную.
Мне тоже знаний не хватает, но я учусь.
Перестановки я делал только для 4 труб.
Для большего кол-ва труб еще раз советую дождаться специалистов по макросам.
Спасибо Zorro2005! Буду дальше пытыться разобраться.
Смотрю!
Вот вариант с макросом для 1…4 труб (если одна труба — тоже ведь о двух концах ).
Для 5-ти и более труб нужны двузначные числа для обозначения концов труб, и код, видимо, д.б. совсем другой.
Цитата: rusttemm от 05.01.2011, 23:07
Уважаемый Zorro2005, объясните, пожалуйста, 8!=40320, а по какому принципу Вы исключили ненужные перестановки до 384? Может все это возможно сделать с функциями ПЕРЕСТ, ФАКТ и ЧИСЛКОМБ, а не в ручную? Извините если что не так спросил, знаний своих пока не хватает!
Я все-таки хочу докопаться до истины для того, чтобы можно было использовать эту программу для стыковки любого количества труб (а не только 6 как в примере).
Считаем:
Число_перестановок_труб = Число_перестановок_без_повторений = N! = 4! = 24;
Число_поворотов_труб = Число_размещений_с_повторениями = K^N (K = 2 — два конца у трубы) = 2^4 = 16;
Итого вариантов = N!*2^N = 24*16 = 384.
А 7 труб (= 645120) на 2003-ем листе уже не поместятся.
Прикрепил мой вариант генератора перестановок:
Эксель изощрён, но не злонамерен.
С.М. спасибо за пояснение!
А теперь надо как то связать генератор перестановок с таблицей замеров с изменяющимся количеством труб (кроме первой и последней трубы). В таблицу ЗАМЕРЫ внес данные, в СТЫКОВКА – получил наилучший вариант. Т. е. довести программу до рабочего состояния.
С миру по нитке…
Всем спасибо!
Попробовал «разогнать» подход, предложенный С.М. для генератора перестановок. Получилось побыстрее, но в обоих случаях дальше 6-й трубы не идет
Я в VBA не рзбираюсь, но может увеличить здесь (не миллион, а больше):
If IterationCount > 1000000 Then
MsgBox «Число итераций больше предельного», vbExclamation, «ПодгоняемТрубы»
On Error GoTo 0
Exit Sub
Извиняюсь, если что не так ляпныл!
И что значит «Число итераций больше предельного», если не трудно?
Спасибо!
Можно ли создать динамичную таблицу, верхняя и нижняя труба остаются, а количество промежуточных труб (ну и соответственно строки в таблице) изменяются в зависимости от значения ячейки Н1(количество труб)? Т.е вставка данных происходит в середину таблицы, две нижние строки (нижняя труба) сдвигаются вниз. Пока смог создать только такую таблицу (с помощью условного форматирования). Новые данные вставляются снизу.
Так же посчитал, что при количестве средних труб =7, количество необходимых строк для таблиц сравнения значений вариантов составит 12257280 (12 млн.). Можно ли будет их продолжить на последующем листе? И сможет ли Excel все это хозяйство посчитать? (См. тему «Стыковка профильных труб», файл Трубы_2_2.rar).
Цитата: ZORRO2005 от 05.01.2011, 02:06
Формул для решения задач по комбинаторике в интернете много,
но вот способов генерации всех вариантов в Excel мало, а формулами еще меньше.
Один из способов генерации всех вариантов к данной задаче формулами,
работает от 1 до 4 труб (от 2 до 384 вариантов), но не сложно переделать и для 6 труб, правда будет тормозить
ЗЫ: немного изменил последовательность генерации, что позволило чуть сократить формулу,
файл перезалил
Воплотил идею Казанского-ZORRO2005 (поиск перестановки с минимальной суммой квадратов разностей размеров стыкуемых труб) в макрос.
Но на 7-и трубах мой PC завис.
Всё-таки перебор всех перестановок — тупик: большая часть вариантов подгона
практически
не отличаются друг от друга. Должен быть какой-то эвристический алгоритм. Если перебирать перестановки «случайно», и должен быть критерий по которому макрос решит, что найден вполне оптимальный вариант и Бог с ними — 24735 другими вариантами-близнецами.
Эксель изощрён, но не злонамерен.
Ну и еще вариант (почти как у С.М.). Да, более 6-ти труб — никак.
Наверное, можно задать какие-то нормы. Например, если смещение кромок стыкуемых элементов менее 30% толщины тонкой детали, то принимаем такой вариант, не перебирая все остальные. Если более — отправляем на калибровку (т.е. используем кувалду, а не Excel ).
Всем БОЛЬШОЕ СПАСИБО! Вы ПРОФЕССИОНАЛЫ!
Цитата: ZORRO2005 от 05.01.2011, 02:06
Друзья,
создал новую тему для решения задач, связанных с комбинаторикой.
Спасибо за тему. Лет 30 таких пасьянсов не раскладывал. Выкладываю свой вариант. Формулами только для 4.
Через VBA для любого числа труб, насколько места хватит. Три дня назад почему-то выложить не получилось.
Ну и а) извиняюсь, что без красивой кнопки запуска макроса. б) есть о чем в этой еще в этой теме поговорить (будут след. сообщения).
В Excel есть множество функций, позволяющих получить очень полезные результаты в математике и финансах, если назвать всего две категории. По этой причине мы рекомендуем вам установить Microsoft Office и прочтите эту статью, из которой вы узнаете чтобы перечислить все комбинации с функцией КОМБИНАТ в Excel
Что такое комбинация?
Вероятно, комбинация — это метод подсчета, используемый для получить количество групп элементов что можно взять из набора. Важно отметить, что элементы не повторяются, порядок не имеет значения, можно использовать числовые значения или символы, что выражается формулой C n, k = n! / (нк)! * к!
Функция COMBINATE в Excel
Функция КОМБИНАТ — это формула Excel, которая позволяет получить количество комбинаций для набора элементов. Таким образом, функция COMBINATE в Excel предоставляет общее количество групп, которые могут быть созданы из определенного количества элементов.
Функция COMBINAT в Excel поддерживает только числовые значения, и если некоторый текст включен в ячейки, которые будут аргументами формулы, будет получен усеченный результат, а на выходе #VALUE! Если один из аргументов содержит значение меньше 0, функция возвращает ошибку # ЧИСЛО!
Как перечислить все комбинации с функцией COMBINATE в Excel
Если вы хотите перечислить все комбинации с функцией COMBINATE в Excel, необходимо знать синтаксис требуется эту формулу и применить дополнительную процедуру в случае, если список групп включает текст вместо числовых значений.
Каков синтаксис функции КОМБИНАТ в Excel?
Синтаксис функции КОМБИНАТ в Excel имеет два аргумента. Первый аргумент относится к общему количеству элементов, а второй — к количеству элементов, разрешенных в каждой комбинации. Оба аргумента обязательны и выражаются так: = КОМБИНАТ (число, размер)
Перечислите количество возможных комбинаций с функцией КОМБИНАТ в Excel
Чтобы перечислить количество возможных комбинаций с помощью функции COMBINATE в Excel, вам необходимо вставить список предметов который будет использоваться как диапазон ячеек. Предположим, у вас есть список из восьми учеников, и вы хотите сгруппировать их в пары. Чтобы увидеть список всех возможных комбинаций, нам понадобится функция COMBINAT.
Напишите имя каждого ученика от A1 до A8. Для этого вы можете создать сводную таблицу . Перейдите к строке формул и выберите категорию «Математика и тригонометрия». Найдите функцию COMBINAT и нажмите «ОК». В «Число» нажмите значок красной стрелки, чтобы выбрать диапазон A1: A8, а в «Размер» введите 2 и нажмите «ОК».
Список всех комбинаций с функцией COMBINATE в Excel
Если вам нужно перечислить все комбинации с Функция COMBINATE в Excel, это необходимо создать макрос для выполнения процедуры. Для этого разделите имена на два столбца (A и B) и нажмите «Alt + F11». Таким образом вы получите доступ к редактору Visual Basic. Затем нажмите «Вставить» и «Модуль».
Вставьте следующие строки кода, чтобы вы могли видеть комбинации (вы должны помнить, что точки в начале каждой строки не входят в код):
- Под комбайном ()
- Dim i как целое, j как целое, LastRA как целое, LastRB как целое, Aux как целое
- Вспомогательный = 1
- LastRA = Диапазон («A4»). Конец (xlUp) .Row
- LastRB = Диапазон («B4»). Конец (xlUp) .Row
- Для i = 1 ТБ LastRA
- Для j = 1 ТБ LastRB
- Диапазон («C» & Aux) = Range («A» & i) & Range («B» & j)
- Вспомогательный = Вспомогательный + 1
- Следующий j
- Затем я
- End Sub
Как работает макрос для выполнения слияния
Чтобы комбинация была проведена, вы должны указать, что из всего «n» элементов (8 имен учащихся) возможно получить группы элементов без повторения и независимо от порядка, в котором они появляются.
При выборе диапазона или всех элементов столбец «C» получит возможные комбинации посредством поворота в два цикла для столбцов A и B. Удобно отметить, что если вы решите загрузите и установите LibreOffice на вашем компьютере вы не сможете разработать макрос, потому что это программное обеспечение несовместимо с приложениями Visual Basic.