2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 12:40 


27/08/11
254
Есть общее уравнение вида:

$aA+bB+cC \le E $

Где $A$, $B$, $C$ - энергия разных веществ.
$a$, $b$, $c$ - целое число, моль.

Есть ограничение, для $a, b, c$. Их сумма не может превышать $n$ - заданное число моль исходного вещества. Вещество $A$ содержит 2 моль исходного вещества (его энергия обозначается как $A$), $B$ - 3 моль, а C - 4 моль. Например, если $n=4$ моль, то максимум 2 моль $A$, 1 моль $B$, 1 моль $C$. Не могу сформулировать это математически.
$E, n$ - задаются. $A, B, C$ - известные числа. Нужно найти такую комбинацию $a, b, c$, при которой сумма энергий была как можно ближе к значению $E$.
Хотя бы один из коэффициентов не должен быть равен нулю
Подобную задачу можно решить в маткаде или екселе?

Есть начальное количество вещества - $n$ моль. Из него образуются продукты $A, B, C$. При этом выделяется энергия $A, B, C$. На вещество $A$, тратится 2 моль изначального вещества, на $B$ - 3 моль, на $C$ - 4 моль. Чтобы пошел процесс превращения начального вещества, мы затрачиваем энергию $E$. Дано условие, что продукты будут стремиться максимально затратить энергию. Поэтому должно получится такое соотношение продуктов, чтобы сумма энергий образования продуктов была максимально близка к $E$. Задача: найти наиболее близкое к $E$ соотношение продуктов $A, B, C$.

Нужен универсальный алгоритм, в будущем будет более 20 продуктов со своими энергиями.

Пример:

$A=20; B=50; C=30; E=100$; $n=10$
$5A=100$
$4A=80$
$2B=100$
$3C=90$ вариант не возможен, так как 12 моль, а исходного 10.
$2A+2C=100$, но это невозможно, поскольку $n=10$, а тут 12 моль.
$2A+B=90$
и т.д....
Далее мы смотрим, в каких вариантах значение наиболее ближе к $E$, и который выполняет условие $n=10$

Какую-нибудь программу для решения этой задачи посоветовать можете? И как в ней выполнить алгоритм?

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 12:45 
Заслуженный участник


12/09/10
1547
$a=b=c=0$

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 12:48 


27/08/11
254
Cash в сообщении #848620 писал(а):
$a=b=c=0$

Я там ошибся, исправил. Е не равняется нулю.

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 13:23 
Заслуженный участник


12/09/10
1547
Ну так $0 \cdot A+0\cdot B+0\cdot C≤Е$
Почему нет?

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 13:28 


27/08/11
254
Потому, что какое то число энергии должно получится.

Должна быть определенное соотношение энергий А, B, С. В идеале быть равной Е. Либо максимально близкой к ней.
Вариант 0, не соответствует поставленной задаче.

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 13:30 
Заслуженный участник
Аватара пользователя


18/01/13
12065
Казань
Ну и что. Ноль может быть меньше $E$

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 13:32 


27/08/11
254
Ну хорошо, ещё одно доп условие, хотя бы один из коэффициентов не должен быть равен нулю.

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 13:43 
Заслуженный участник
Аватара пользователя


18/01/13
12065
Казань
Это похоже на задачу целочисленного линейного программирования. Только там обычно ищут наилучшее (в некотором смысле) решение. Но можно ставить задачу и по-другому: найти какое-то решение или перечислить все.
Если переменных всего три, проще решить задачу перебором.

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 13:54 


27/08/11
254
Переменных будет 20+ штук. Просто я пока хочу понять алгоритм на простом примере.
Мне нужно найти наилучшее решение. Смысл в том, чтобы получить такую вариацию, при которой значение будет как можно ближе к Е.

 Профиль  
                  
 
 Posted automatically
Сообщение12.04.2014, 13:57 


20/03/14
12041
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
Svinks

1. Запишите формулы в соответствии с требованиями Правил форума, т.е. в $\TeX$.
Краткие инструкции можно найти здесь: topic8355.html и topic183.html.
Кроме этого, в теме Видео-пособия для начинающих форумчан можно посмотреть видео-ролик "Как записывать формулы".

2. Приведите свои попытки решения и/или укажите затруднения.

После того как исправите сообщение, сообщите об этом в теме Сообщение в карантине исправлено, и тогда тема будет возвращена.

 Профиль  
                  
 
 Posted automatically
Сообщение12.04.2014, 19:22 


20/03/14
12041
 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»


Внимание! Стартовый пост был изменен.

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 21:44 


27/08/11
254
Всё таки никак не могу придумать, как записать условие ограничения для молей.

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 21:54 
Заслуженный участник
Аватара пользователя


18/01/13
12065
Казань
Я вот тоже не все ваши высказывания поняла.
Svinks в сообщении #848619 писал(а):
Вещество $A$ содержит 2 моль исходного вещества (его энергия обозначается как $A$), $B$ - 3 моль, а C - 4 моль. Например, если $n=4$ моль, то максимум 2 моль $A$, 1 моль $B$, 1 моль $C$. Не могу сформулировать это математически.
Не есть хорошо обозначать вещество и "содержащуюся" в нем энергию одной и той же буквой. И откуда еще взялось "исходное вещество"? Наверное, надо расписать процесс подробнее.

Что касается решения - посмотрите по теме "целочисленное линейное программирование". Там алгоритмы не совсем тривиальные. Неспециалисту запрограммировать их будет непросто. Есть ли их реализации в простых и доступных пакетах - не знаю, дождитесь кого-то, кто в этом разбирается.

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 22:44 


27/08/11
254
У нас есть метан $CH4$. Это исходное вещество. Допустим его 10 молей. Воздействуя на него, мы можем получить укрупнение цепи, причём может получится множество различных продуктов. Каждый из продуктов имеет свою энтальпию образования. Есть предположение, что образоваться будет сочетание продуктов, сумма энергия которые будет максимально равна энергии подведенной к системе. Допущение, что эта энергия уже конечная, то есть тепловые потери уже учтены.

Побочные продукты:

$C2H6$
$C3H8$
$C4H12$

У каждого из них свой тепловой эффект, рассчитанные через термохимические уравнения.

Очевидно, что из 10 моль метана не может получится 3 моли бутана, если получается 2 моль бутана, то не может получится еще моль пропана. При этом, бутан может получится, если подать на систему энергию в достаточном количестве.

И тут, чтобы найти наиболее вероятное сочетание, нужно перебрать различные варианты, учитывая ограничение в энергии и в начальном количестве метана. Среди конечных комбинаций продуктов, выбирается оптимальный, в котором суммарная энергия наиболее близка к энергии подведенной к системе.

И тут вопрос, если у меня будет 20-50 побочных продуктов, компьютеры смогут перебрать варианты? Не выйдет так, что на это способны будут лишь суперкомпьютеры и годы вычислений? По идеи, это можно обойти низким значением моли метана и невысоким количеством энергии.

 Профиль  
                  
 
 Re: Нужно составить и решить уравнение по комбинаторике
Сообщение12.04.2014, 22:50 
Заслуженный участник
Аватара пользователя


18/01/13
12065
Казань
20-50 переменных это, вроде, не много.

-- 12.04.2014, 23:56 --

Svinks в сообщении #848830 писал(а):
Очевидно, что из 10 моль метана не может получится 3 моли бутана, если получается 2 моль бутана, то не может получится еще моль пропана. При этом, бутан может получится, если подать на систему энергию в достаточном количестве.
Не зная химии процессов, ничего не поняла. Что из этого верно:
1. Число атомов $C$ слева и справа в формуле преобразования совпадают (или слева не меньше).
2. Число атомов $H$ слева и справа в формуле преобразования совпадают (или слева не меньше).
3. Каждое преобразование из метана в побочный продукт требует некоторой энергии, запас которой ограничен. На что рассчитывается эта энергия? На одну молекулу метана? На одну молекулу побочного продукта?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group