|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.06.2012, 05:11 | #1 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Плохой/Хороший - задача линейного программирования
Доброго времени суток, господа эрудиты. У меня возникла проблема не столь программистского характера сколько математического.
Мне надо определять в массиве объектов подходящие мне элементы причем руководствуясь многими критериями причем критерии не равноправные. некоторые критерии хорошо влияют а проявления некоторых наоборот пагубно. я сделал следующим образом: V=Сумма(Критерий[i]*Весовой_коэфициент[i]) T - борьер проходимости (любое число) и вот если V>T то подходит, иначе нет вот такая нехитрая формула. осталось только подобрать нужные коэфициенты (вручную на глазок я это сделал, но надо не на глазок). Чтобы расставить коэфициенты надо обучить систему. то есть провести тест на нескольких объектах причем таких, чтобы было сложно определить подходит или нет. Я руководствуюсь тем что человек всегда определяет верно (его слово - эталон) В файле MS Excel представлено несколько объектов разложенных на критерии и ответ эксперта. Надо воспользовавшись поиском решения (lpsolver) добится таких коэфициентов, чтобы ответы системы совпадали с ответами эксперта А проблема в следующем: V>T в этом месте система выходит за рамки задачи ЛП и превращается в нелинейную. не могу корректно подобрать альтернативу этой записи P.S. Для тех у кого не установлен поиск решения в 2007 и выше офисах кнопка office (круглая сверху) -> Параметры Excel ->Надстройки ->Поиск решения (lpsolver) и установить. Чтобы потом воспользоваться им надо перейти на вкладку "Данные" и там будет кнопка "Поиск решения"
Писано по д'Эльфийски
|
10.06.2012, 09:06 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Попробуите метод ранжирования по признакам.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
10.06.2012, 09:41 | #3 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
1. Это все очень интересно, но непонятно, чего Вы от нас хотите.
2. Лично у меня на компе офис вообще не установлен. Вы думаете, что для того, чтобы помочь Вам в решении Вашей задачи, я должен его установить? 3. Вам вообще нужно решение Вашей задачи или решение непременно средствами МС офиса? Т.к. офис вряд ли можно рассматривать в качестве вменяемого математического пакета, думаю, эти варианты существенно различаются. |
10.06.2012, 12:32 | #4 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Если вы хоть раз программист, то должны знать библиотеку lpsolver и Excel при этом не обязателен, просто в нем удобней.
"метод ранжирования по признакам" так же как методы ПРИНН, Электро и так далее не подходят так как мы заведомо не знаем какие критерии с какой силой влияют. как раз таки моя задача немного обратная. подобрать коэфициенты так, чтобы плохие не проходили через барьер проходимости а хорошие прошли
Писано по д'Эльфийски
|
10.06.2012, 13:21 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ну не занимался задачами линейного программирования и из вашего поста только и узнал о существовании такого пакета. Зато теперь знаю - не программист я
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 10.06.2012 в 13:24. |
10.06.2012, 14:29 | #6 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Любыми средствами мне нужно получить результат и сформировать математическую модель для обучения системы. математическая модель принятия решения есть но надо подобрать к ней обоснованные коэффициенты а не "на глазок". Так то я подобрал все коэффициенты и в файле они есть и в принципе они удовлетворяют меня. но при защите магистерской до меня докопаются откуда эти числа. Поэтому нужна математическая модель
Писано по д'Эльфийски
|
10.06.2012, 16:12 | #7 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Вам не кажется, что Вы подходите к задаче не с того конца?
По сути, у Вас есть многомерное пространство, размерность которого равна количеству Ваших коэффициентов. Вам нужно найти некоторую точку (вектор) в этом пространстве, удовлетворяющую некоторым условиям. Вы нашли точку, которая, судя по проведенным Вами выборочным проверкам, этим условиям удовлетворяет. Теперь Вы хотите обосновать правильность выбора этой точки. Что ж, можно, конечно, поступать и так, но в этом случае Вы должны будете доказать, что проведенные Вами тесты охватывают все возможные сценарии. По-хорошему, следовало бы сначала найти в этом многомерном пространстве объем, все точки которого удовлетворяют заданным условиям, а потом внутри этого объема выбрать точку, удовлетворяющую некоторому дополнительному условию, например, максимальная удаленность от границ объема. |
10.06.2012, 18:32 | #8 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Что то вы усложняете все. по поводу всего объема - так это не возможно так как неивестно сколько объектов будет анализироваться. по поводу доказать что мои тесты охватывают все - это уже не так важно. я как человек знаю (чисто исходя из опыта) какие критерии как влияют и поэтому подобрал "экстримальные обьекты: то есть самые наихудшие "хорошие" и самые наилучшие "плахие" ... то есть ходя по границе этого барьера проходимости и в принцыпе мне не обязательно чтоб абсюлютно всегда система точно говорила ответ. достаточно 90% верных ответов.
Писано по д'Эльфийски
|
10.06.2012, 20:00 | #9 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Так от нас то Вы чего хотите?
|
11.06.2012, 03:45 | #10 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Да я как бы уже нашел как красиво остаться в рамках задачи нелинейного программирования) ни кто ж не сможет проверить я расчитывал или просто числа подогнал)))
Писано по д'Эльфийски
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача линейного программирования | chris-spassk@inbox | Помощь студентам | 0 | 01.06.2012 10:42 |
Стандартная задача линейного программирования | BaNNeD | Помощь студентам | 0 | 27.11.2011 12:53 |
Линейного программирования в MS Excel. Поиск решений | malya | Microsoft Office Excel | 1 | 13.01.2010 00:18 |
Задачи целочисленного линейного программирования | tipok | Помощь студентам | 4 | 19.02.2009 12:24 |