About Индивидуальный рацион питания
Просто введите количество калорий в рационе и нажмите на кнопку! В основе программы лежит генетический алгоритм, по этому результат будет постепенно улучшаться, учитывая, ко всему прочему, равномерность распределения калорий между приемами пищи. Как только отклонение от заданного количества калорий не будет превышать допустимой погрешности, которую можно выбрать в настройках, программа остановиться.
Во вкладке с результатом будут отображаться 10 лучших текущих вариантов рациона, начиная с того, который ближе всего подобрался к оптимальному значению.
Программа написана в соответствии с методическими указаниями к практической работе по предмету "Экологическая безопасность продуктов питания".
Из интернета, при включении, будет загружаться актуальный список продуктов, сейчас в них встречаются довольно экзотические, но их можно отключать. Все они были взяты из методички, а министерство образования плохого не посоветует. Так же, например, если Вы не любите супы - выберите вероятность первого блюда и поставте значение 0.
Шаг веса продуктов округляет значения веса продуктов до заданных значений, например - при шаге 50 грамм веса продуктов будут 50, 100, 150, 200 и так далее. Меньший шаг позволяет точнее подобрать рацион.
Генетический алгоритм также можно настроить:
1) размер популяции - количество созданных за один раз рационов;
2) значение допустимой погрешности - нулевую погрешность советую выбирать только людям с уровнем удачи от 8 и выше, так как алгоритм, скорее всего, сам не остановиться (вручную останавливается нажатием на кнопку);
3) вероятность мутации всей популяции - альтернатива обычной селекции, не особо важна, но позволяет сделать рационы не похожими друг на друга на завершающих этапах;
4) процент новых особей - свежая кровь для популяции.
Последние два параметра, по сути, выполняют одинаковые функции и их не обязательно использовать вместе.
Селекция в алгоритме происходит следующим образом:
1) популяция сортируется по возрастанию (задача алгоритма - минимизация функции) и ранжируется (чем ближе к началу - тем больше вероятность быть выбранным для скрещивания в следующую популяцию);
2) случайным образом выбирается оператор скрещивания (точечный или двухточечный), который выдает двух особей, полученных в результате скрещивания родительских особей;
3) из двух особей в новую популяцию записывается та, у которой значение функции пригодности меньше. Simply enter the number of calories in the diet, and then press the button! The program is based on a genetic algorithm, this result will improve gradually, taking into account, among other things, the uniformity of distribution of calories between meals. As soon as a deviation from a predetermined amount of calories will not exceed the margin of error, which can be selected in the settings, to stop the program.
Tab will appear with the result of the top 10 current variants of the diet, starting with the fact that just crept closer to the optimal value.
The program is written in accordance with the methodological guidelines for practical work on the subject of "Ecological safety of food."
From the Internet, when turned on, will load the current list of products, now they are quite exotic, but they can be turned off. All of them were taken from the manuals and the Ministry of Education is not bad advise. Just for example, if you do not like soups - select the probability of the first dishes and postavte 0.
Step weight products rounds weight values to predetermined values of the products, for example - at step 50 gram weight products will be 50, 100, 150, 200 and so on. Smaller step allows you to accurately select diet.
Genetic algorithm can also be configured:
1) the size of the population - the number created at a time of rations;
2) the value of the margin of error - zero error only advise people to choose the level of luck of 8 or higher, since the algorithm is likely, he did not stop (manually stopped by pressing the button);
3) the probability of a mutation of the entire population - an alternative to conventional breeding, it is not particularly important, but allows you to make the rations are not similar to each other in the final stages;
4) The percentage of new species - fresh blood for the population.
The last two parameters, in fact, have the same function and are not necessarily used together.
Selection of the algorithm is as follows:
1) The population is sorted in ascending order (the task of the algorithm - the minimization of the function) and ranked (the closer to the top - the more likely to be selected for cross-breeding to the next population);
2) randomly chosen crossover operator (point or two-point), which produces two individuals obtained by mating parental animals;
3) of the two individuals in the new population recorded one whose fitness function value is less.
by N####:
Happy