Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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) и установить. Чтобы потом воспользоваться им надо перейти на вкладку "Данные" и там будет кнопка "Поиск решения"
Вложения
Тип файла: zip модель обучение системы.zip (8.0 Кб, 6 просмотров)
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 10.06.2012, 09:06   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Попробуите метод ранжирования по признакам.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 10.06.2012, 09:41   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

1. Это все очень интересно, но непонятно, чего Вы от нас хотите.
2. Лично у меня на компе офис вообще не установлен. Вы думаете, что для того, чтобы помочь Вам в решении Вашей задачи, я должен его установить?
3. Вам вообще нужно решение Вашей задачи или решение непременно средствами МС офиса? Т.к. офис вряд ли можно рассматривать в качестве вменяемого математического пакета, думаю, эти варианты существенно различаются.
s-andriano вне форума Ответить с цитированием
Старый 10.06.2012, 12:32   #4
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Если вы хоть раз программист, то должны знать библиотеку lpsolver и Excel при этом не обязателен, просто в нем удобней.
"метод ранжирования по признакам" так же как методы ПРИНН, Электро и так далее не подходят так как мы заведомо не знаем какие критерии с какой силой влияют. как раз таки моя задача немного обратная. подобрать коэфициенты так, чтобы плохие не проходили через барьер проходимости а хорошие прошли
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 10.06.2012, 13:21   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от Лубышев Посмотреть сообщение
Если вы хоть раз программист, то должны знать библиотеку lpsolver
Ну не занимался задачами линейного программирования и из вашего поста только и узнал о существовании такого пакета. Зато теперь знаю - не программист я
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 10.06.2012 в 13:24.
Аватар вне форума Ответить с цитированием
Старый 10.06.2012, 14:29   #6
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
?
3. Вам вообще нужно решение Вашей задачи или решение непременно средствами МС офиса? Т.к. офис вряд ли можно рассматривать в качестве вменяемого математического пакета, думаю, эти варианты существенно различаются.
Любыми средствами мне нужно получить результат и сформировать математическую модель для обучения системы. математическая модель принятия решения есть но надо подобрать к ней обоснованные коэффициенты а не "на глазок". Так то я подобрал все коэффициенты и в файле они есть и в принципе они удовлетворяют меня. но при защите магистерской до меня докопаются откуда эти числа. Поэтому нужна математическая модель
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 10.06.2012, 16:12   #7
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Вам не кажется, что Вы подходите к задаче не с того конца?
По сути, у Вас есть многомерное пространство, размерность которого равна количеству Ваших коэффициентов.
Вам нужно найти некоторую точку (вектор) в этом пространстве, удовлетворяющую некоторым условиям.
Вы нашли точку, которая, судя по проведенным Вами выборочным проверкам, этим условиям удовлетворяет. Теперь Вы хотите обосновать правильность выбора этой точки.
Что ж, можно, конечно, поступать и так, но в этом случае Вы должны будете доказать, что проведенные Вами тесты охватывают все возможные сценарии.

По-хорошему, следовало бы сначала найти в этом многомерном пространстве объем, все точки которого удовлетворяют заданным условиям, а потом внутри этого объема выбрать точку, удовлетворяющую некоторому дополнительному условию, например, максимальная удаленность от границ объема.
s-andriano вне форума Ответить с цитированием
Старый 10.06.2012, 18:32   #8
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Что то вы усложняете все. по поводу всего объема - так это не возможно так как неивестно сколько объектов будет анализироваться. по поводу доказать что мои тесты охватывают все - это уже не так важно. я как человек знаю (чисто исходя из опыта) какие критерии как влияют и поэтому подобрал "экстримальные обьекты: то есть самые наихудшие "хорошие" и самые наилучшие "плахие" ... то есть ходя по границе этого барьера проходимости и в принцыпе мне не обязательно чтоб абсюлютно всегда система точно говорила ответ. достаточно 90% верных ответов.
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 10.06.2012, 20:00   #9
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Так от нас то Вы чего хотите?
s-andriano вне форума Ответить с цитированием
Старый 11.06.2012, 03:45   #10
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Да я как бы уже нашел как красиво остаться в рамках задачи нелинейного программирования) ни кто ж не сможет проверить я расчитывал или просто числа подогнал)))
Изображения
Тип файла: jpg model.JPG (26.1 Кб, 54 просмотров)
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача линейного программирования 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