Автор Тема: решение транспортной задачи - мат пакет  (Прочитано 2290 раз)

Оффлайн woronin

  • Участник
  • *
  • Сообщений: 382
У меня возникла необходимость решить транспортную задачу. Это  есть набор поставщиков и набор потребителей, у каждого поставщика свои тарифы. Нужно найти наиболее экономичный путь доставки от поставщиков к потребителям неких запасов.  Для решения задачи строится матрица и далее - она расчитывается либо методом северозападного угла, либо по наимешним тарифам. Гугл и википедия подробно алгоритм расжевывают - претензий к ним нет, но хотелось бы просто взять пакет и скомплилировать свою задачу с вызывами нужных функций из этого пакета.
Ни кто не подскажет - где можно поискать такие пакеты - желательно бесплатные, хотя можно в принципе и за разумные деньги...
Понятно чтоб под линуксом собирались бы ))))

Оффлайн МИНЗДРАВ

  • Странник_
  • *
  • Сообщений: 3 045
  • ALWK8 х64 Branch sysd & server-light_1.9.3sysV noX
    • http://yx-kak.ru/linux.htm
есть набор поставщиков и набор потребителей, у каждого поставщика свои тарифы. Нужно найти наиболее экономичный путь доставки от поставщиков к потребителям неких запасов. 
В сторону теории графов попробуйте копнуть. Насколько помнится, с помощю неё возможно наиболее точно посчитать выгодность процессов.
А пакет для решения любых математических задач, в наших репах. - scilab

Оффлайн Const

  • Глобальный модератор
  • *****
  • Сообщений: 2 653
  • Даже у плохого модератора есть свои плюсы…
А пакет для решения любых математических задач, в наших репах. - scilab
А также octave (возможно он даже лучше, потому что полностью реализует тот же язык, что и Malab).
Ну и конечно же, масса языков программирования, которые тоже вполне удобны для решения такого рода задач. Особенно Fortran. В gcc4.5, кстати, реализован стандарт Fortran 2008, который, кроме всего прочего, для работы с матрицами — песня! Кстати, напомню, что большинство алгоритмов (особенно в классическом их виде) ориентированы именно на работу с массивами, хранящимися в фортран-стиле (по столбцам).

Оффлайн woronin

  • Участник
  • *
  • Сообщений: 382
Коллеги! большое спасибо за подсказку, только к сожалению мой вопрос был несколько в другой области. Я понимаю, что scilab-ом, oktavi-ей, Fortran-ом, да или просто С-ями я свою задачу смогу реализовать. Только мне нужно для этого найти человека, разбирающегося в инструменте, поставить ему задачу, подождать немного и потом с ним расплатиться. Все правильно. Это один путь и он вполне уместный.
Мой же вопрос заключался скорее в другом - я обращаюсь к уважемому сообществу с просьбой подсказать может кто-то знает уже готовый пакет для решения задач линейного программирования в том числе и для достаточно популярной задачи - Транспортной задачи. В Oracle-apps на PL/SQL  у индусов я сталкивался с решением этой задачи. Ведь наверняка многие подобную  задачу по роду своей деятельности решали и может быть кто-то  ее сам выкладывал в репозиторий или видел что там что-то подбное уже лежит.
А scilab и fortran  не катят - потому что я работаю с сенсорными сетями - это небольшие устройства с питанием на батарейках и у них размер программной области очень сильно ограничен. Мы на Си туда все запихиваем.
Я думал взять алгоритм и туда (на сенсоры) его впихнуть, чтоб побыстрее и самому не сидеть не разбираться - и так других забот хватает...

Знайка

  • Гость
Решение траспортной задачи, дают на лекциях в институте для прикладных программистов и смежных специальностей. (Мне лично давали, хотя специальность больше под системное администрирование заточена). Так, что если вам нужен алгоритм, попробуйте поискать методические материалы на сайтах вузов.

Оффлайн Const

  • Глобальный модератор
  • *****
  • Сообщений: 2 653
  • Даже у плохого модератора есть свои плюсы…
А scilab и fortran  не катят - потому что я работаю с сенсорными сетями - это небольшие устройства с питанием на батарейках и у них размер программной области очень сильно ограничен. Мы на Си туда все запихиваем.
Я, конечно, тихо извиняюсь, но не разобравшись писать не стоит. Это к тому, что Fortran и C формируют двоичный код заведомо одинакового объёма. Это чрезвычайно близкие в плане кода языки. Вплоть до того, что без дополнительных ухищрений вызывают подпрограммы и библиотеки друг у друга. Просто они заметают разные круги задач.

Оффлайн woronin

  • Участник
  • *
  • Сообщений: 382
Не исключаю, может я что-то и не догоняю. Но смотрите. На фортране написанный код - скомпилировать для устройства и зашить его туда через программатор - не удается. На Си написанныйц код компилиться и прошивается на устройство без проблем особых. Вот что я имел в виду. Может я не очень корректно пояснил суть проблемы

Оффлайн Const

  • Глобальный модератор
  • *****
  • Сообщений: 2 653
  • Даже у плохого модератора есть свои плюсы…
Ну, скорее всего дело в кросс-компиляции... тут не скажу, умеет ли это компилятор Фортрана, ибо не сталкивался за ненадобностью.