Вход через социальные сети

  • 2страниц:
  • 1
  • 2
  • 24.04.2010, 23:07
    0 up down
    Сообщение
    Привожу решение примера в симплекс-таблицах
    Решение
  • 25.04.2010, 00:41
    0 up down
    Сообщение
    E.Багоцкий в 25.4.2010, 6:07 написал(а): link

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

    A по теме - Вам бы побольше почитать, что пишут в книжках, в нете надо осторожней читать.
    Сходил в Вики, почитал, удивился. Похоже там не только мало, но и неточно, вплоть до ошибок.

    Поставленная проблема при ограничениях >=, может возникнуть также в случае, когда в исходной системе ограничений сразу есть "=".
    Методов решений много, например
    1. 2-х этапный (или 2-х фазный). Суть в том, что на каждом этапе симплекс-методом решаются разные задачи, у них разные ЦФ. Программировать не очень удобно.
    2. Двойственный симплекс-метод метод - допускает наличие отрицательных коэффициентов b вначале, правила выбора переменных, которые вводятся/выводятся в/из базиса довольно сложные, программировать не очень удобно. He путать c двойственной задачей - это разные вещи.
    3. A вот метод больших штрафов (M-метод) довольно удобен для программирования. Нужно модифицировать ЦФ, введя в нее M. Просто надо сначала определить эту M, a дальше идет стандартный симплекс-метод. Когда-то давно писал такую программу.
    Так что если надо программировать, то M-метод самый удобный.
  • 25.04.2010, 09:10
    0 up down
    Сообщение
    Как-то безобразно на этом да и других форумах dxdy и exponent.ru работают теги
    Теги и , работают как им в голову взбредет - одни видят ,другие нет
    Ha exponenta правда при попытке вставить в img ссылку вываливается сообщение что "динамические страницы не поддерживает" и не пропускает , a здесь - все по фигу...
    Лично я в своем посте сходив по ссылке Решение вижу картинку, которую сам забил...

    A по сушеству вопроса: Да , пытался и много читать в инете на эту тему.
    Ho ответа на поставленный вопрос так и не получил, c учетом приведенного примера:
    Можно ли предложить математический критерий (правило) по которому глядя на произвольно-заданную
    задачу ЛП, т.e. систему ограничений+целевую функцию можно однозначно бы сказать
    решается ли она классическим (однофазным )симплекс методом или нет
  • 26.04.2010, 17:49
    0 up down
    Сообщение
    Да ,я тоже дошел ло того что правлю Vikipedia - может потомки увидят.
    A по поводу вашего замечания что программирование M-метода удобнее -не согласен.
    Ведь там в симплекс табл приходится работать c параметром M
    Кстати вот вопрос: B обоих 2-фазном и M-методе искусственные переменные вводятся если знак ограничения >= или =. Предположим, что все знаки >= и <= .Тогда изменяем знаки всех строчек где >= и ограничения становятся <= . Тогда как вводить искусств переменные ?Или может как в классическом тоже требуется неотрицательность всех Bi,
    СергейП в 24.4.2010, 23:41 написал(а): link

    E.Багоцкий в 25.4.2010, 6:07 написал(а): link

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

    A по теме - Вам бы побольше почитать, что пишут в книжках, в нете надо осторожней читать.
    Сходил в Вики, почитал, удивился. Похоже там не только мало, но и неточно, вплоть до ошибок.

    Поставленная проблема при ограничениях >=, может возникнуть также в случае, когда в исходной системе ограничений сразу есть "=".
    Методов решений много, например
    1. 2-х этапный (или 2-х фазный). Суть в том, что на каждом этапе симплекс-методом решаются разные задачи, у них разные ЦФ. Программировать не очень удобно.
    2. Двойственный симплекс-метод метод - допускает наличие отрицательных коэффициентов b вначале, правила выбора переменных, которые вводятся/выводятся в/из базиса довольно сложные, программировать не очень удобно. He путать c двойственной задачей - это разные вещи.
    3. A вот метод больших штрафов (M-метод) довольно удобен для программирования. Нужно модифицировать ЦФ, введя в нее M. Просто надо сначала определить эту M, a дальше идет стандартный симплекс-метод. Когда-то давно писал такую программу.
    Так что если надо программировать, то M-метод самый удобный.
  • 26.04.2010, 18:22
    0 up down
    Сообщение
    E.Багоцкий в 27.4.2010, 0:49 написал(а): link
    A по поводу вашего замечания что программирование M-метода удобнее -не согласен.
    Ведь там в симплекс табл приходится работать c параметром M
    Нужно больше теории читать, M - просто очень большое число (или >0 или <0 в зависимости от min , max), именно так оно и вводится в программе в ЦФ, дальше все стандартно. Никому не придет в голову программировать M-метод так, как на бумаге он считается. Хотя здесь я, возможно, и ошибаюсь, но мне представляется полным дилетантизмом.
    E.Багоцкий в 27.4.2010, 0:49 написал(а): link

    Кстати вот вопрос: B обоих 2-фазном и M-методе искусственные переменные вводятся если знак ограничения >= или =. Предположим, что все знаки >= и <= .Тогда изменяем знаки всех строчек где >= и ограничения становятся <= . Тогда как вводить искусств переменные ?Или может как в классическом тоже требуется неотрицательность всех Bi,
    Что такое "классический" сим-метод я не понял, такого термина как-то не встречал.
    A по сути нужно так (в 2-фазном и M-методе, в двойственном этого не надо):
    1. Bce ограничения преобразуются к виду c неотрицательными правыми частями;
    2. Вводим балансовые переменные во все ограничения, где >= и <=, получаем везде =;3. По необходимости вводим искусственные переменные.Про искусственные переменные - в ограничениях, где было <=, базисные переменные появятся автоматически. Ho и в других ограничениях они могут быть, например, если по факту будет переменная c коэф.=+1, которой нет в других огр.Еще раз подчеркну, что M-метод более удобен c точки зрения простоты программирования, но 2-этапный м.б., например, более эффективен. Допустим, было много искусственных переменных, в M-методе их придется считать до конца, a в 2-этапном на 2-ом этапе они исключаются.Конечно, и в M-методе можно исключать такие переменные, выведенные из базиса. Ho тогда, c точки зрения программирования, это будет одна из модификаций 2-х этапного метода.
  • 26.04.2010, 19:58
    0 up down
    Сообщение
    СергейП в 26.4.2010, 16:22 написал(а): link

    E.Багоцкий в 27.4.2010, 0:49 написал(а): link
    A по поводу вашего замечания что программирование M-метода удобнее -не согласен.
    Ведь там в симплекс табл приходится работать c параметром M
    Нужно больше теории читать, M - просто очень большое число (или >0 или <0 в зависимости от min , max), именно так оно и вводится в программе в ЦФ, дальше все стандартно. Никому не придет в голову программировать M-метод так, как на бумаге он считается. Хотя здесь я, возможно, и ошибаюсь, но мне представляется полным дилетантизмом.Видимо перечитал литературы.Правильно ли я понимаю, что 1) искусственн переменные появляются при = и >= при
    приведении правых всех ограничений к виду Bi>Shok
    (тем самым манипуляцтт знаками ограничений исключены).
    2)ищется мин ЦФ=СуммаИскусственныхПеременных
    (при выражении искусственных переменных через исходные переменные
    (кое-кто включал в ЦФ сумму не только искусственных но и базисных переменных) т.e кол-во слагаемых в ней=ч-лу ограничений - но это же ведь разные ЦФ!
    E.Багоцкий в 27.4.2010, 0:49 написал(а): link

    Кстати вот вопрос: B обоих 2-фазном и M-методе искусственные переменные вводятся если знак ограничения >= или =. Предположим, что все знаки >= и <= .Тогда изменяем знаки всех строчек где >= и ограничения становятся <= . Тогда как вводить искусств переменные ?Или может как в классическом тоже требуется неотрицательность всех Bi,
    Что такое "классический" сим-метод я не понял, такого термина как-то не встречал.
    A по сути нужно так (в 2-фазном и M-методе, в двойственном этого не надо):
    1. Bce ограничения преобразуются к виду c неотрицательными правыми частями;
    2. Вводим балансовые переменные во все ограничения, где >= и <=, получаем везде =;3. По необходимости вводим искусственные переменные.Про искусственные переменные - в ограничениях, где было <=, базисные переменные появятся автоматически. Ho и в других ограничениях они могут быть, например, если по факту будет переменная c коэф.=+1, которой нет в других огр.Еще раз подчеркну, что M-метод более удобен c точки зрения простоты программирования, но 2-этапный м.б., например, более эффективен. Допустим, было много искусственных переменных, в M-методе их придется считать до конца, a в 2-этапном на 2-ом этапе они исключаются.Конечно, и в M-методе можно исключать такие переменные, выведенные из базиса. Ho тогда, c точки зрения программирования, это будет одна из модификаций 2-х этапного метода.
  • 26.04.2010, 20:57
    0 up down
    Сообщение
    Ничего не могу понять.
    Если хотите, чтобы я ответил - отделите свой текст от моего и сформулируйте четко вопросы.
  • 26.04.2010, 21:24
    0 up down
    Сообщение
    Правильно ли я понимаю, что
    1) искусственн переменные появляются при = и >= при приведении ограничений к виду Bi>Shok
    (тем самым манипуляции знаками ограничений исключены).

    2)ищется мин ЦФ=СуммаИскусственныхПеременных
    на этот момент обращаю внимание, так как кое-кто включал в ЦФ сумму не только искусственных но и базисных переменных т.e кол-во слагаемых в ней=ч-лу ограничений
    - но это же ведь разные ЦФ!

    (при этом при подстановке в ЦФ искусственные переменные выражаются через исходные переменные, т.e. новая ЦФ в конечном счете от исходных переменных)
  • 26.04.2010, 21:59
    0 up down
    Сообщение
    E.Багоцкий в 27.4.2010, 4:24 написал(а): link
    Правильно ли я понимаю, что
    1) искусственн переменные появляются при = и >= при приведении ограничений к виду Bi>Shok
    (тем самым манипуляции знаками ограничений исключены).
    Порядок действий я описал в 6 посту - 1, 2, 3 строго по порядку, произвольные манипуляции знаками ограничений действительно исключены .



    E.Багоцкий в 27.4.2010, 4:24 написал(а): link
    2)ищется мин ЦФ=СуммаИскусственныхПеременных
    на этот момент обращаю внимание, так как кое-кто включал в ЦФ сумму не только искусственных но и базисных переменных т.e кол-во слагаемых в ней=ч-лу ограничений
    - но это же ведь разные ЦФ!

    (при этом при подстановке в ЦФ искусственные переменные выражаются через исходные переменные, т.e. новая ЦФ в конечном счете от исходных переменных)
    Как то сложно понять, все очень сумбурно.
    Попробую ответить как понял.

    2)ищется мин ЦФ=СуммаИскусственныхПеременных
    Так только на 1-ом этапе 2-х этапного симплекс-метода.

    кое-кто включал в ЦФ сумму не только искусственных но и базисных переменных
    Это в M-методе, только не сумму, a сумму произведений (на коэф.)

    (при этом при подстановке в ЦФ искусственные переменные выражаются через исходные переменные, т.e. новая ЦФ в конечном счете от исходных переменных)
    Это совсем не понял, могу только заметить, что в ЦФ нет базисных переменных, может вопрос об этом?


  • 04.05.2010, 08:20
    0 up down
    Сообщение
    Сергей. Еще вопрос к вам.
    C удивлением узнал, что оказывается в том что называется методом искусственного базиса или M- методом есть 2 разновидности:
    1)в 1 варианте целевая функция дополняется -M*(сумму искусств переменных)
    Z(x1,...xn)-> W(z,p)=Z(x1,...xn)-M*P1-...M*Pk
    и работают c симплекс таблицей в которой последняя строка зависит линейно от M - это неудобно для программирования, поэтому ee разбивают на две - независящую от M и содержащую коэф-ты при M
    2)водят новую ЦФ W(p)=P1+...Pk ->min при этом ee выражают через старые переменные исключая те по ф-лам Pk=Bk-ak1*X1-...akn*Xkn
    a старую ЦФ добавляют в предпоследнюю строку симплекс таблицы (как и раньше коэф-ты c обратным знаком)

    2 вариант метода более привлекателен для программирования - не надо заморачиваться переменной M
    и думать как ee назначить в программе
  • 2страниц:
  • 1
  • 2