Автор Гілка: OpenOpt: Українське ПЗ для чисельної оптимізації  (Прочитано 9808 раз)

Відсутній Dmitrey

  • Новачок
  • *
  • дописів: 12
  • Карма: +0/-0
Я трошки не про те: ну, наприклад, вирішив я за допомогою Вашого пакету порахувати якусь задачку лінійного програмування. Імпортував lpSolve.py. Подивився на посилання на авторів, перейшов за цією адресою... І що я маю: та це ж мій улюблений рецепт на C! До чого тут пайтон?
Крім того, для того щоб з’ясувати, що там застосовано симплекс-метод (я-то це знаю, а хтось може і ні) треба буде ще полазити по Вікіпедіях та вихідному коду...
Шановний yurchor, я нічого не маю ні проти Ваших солверів на С, ні інших на С, Фортран та інших мовах. Коли якийсь програміст вже має якісь функції написані на Пітоні, Java та інших мовах, та хоче щось прооптимізувати (чи проінтегрувати, чи ще якась математична обробка) він у першу чергу дивиться, чи можна це вирішити наявним ПЗ на тіей же мові за сприйнятний час, і лише якщо ні - пробує самотужки підключити щось на C, Fortran (що займе неабиякий час).
Бо інакше, кому було би потрібно усе те наукове ПЗ написане не на С та Fortran? (на усіх тих Octave, SciLab, MATLAB, scipy, MATCAD etc)?
Як я вже писав, Пітон на відміну від С та Фортран дозволяє RAD. Я маю 1.5 років досвіду на С та дещо на Фортран, тому можу 100% підтвердити ту думку, що розробка на Пітон займає в декілька разів меньше часу ніж С/Фортран. Нема ніяких Segmentation Fault, довготривалих компіляції та лінкування (хоча, звичайно, і у С/Фортран можна користуватись дебагерами).
До того ж набагато меньше крос-платформних проблем (Win, Linux, MacOS і таке інше).

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3641
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Навіщо щось розробляти, якщо Вам потрібен просто розв’язок задачі лінійного програмування, для якого вже є готовий рецепт? :o
Чи Ви про проги для наших майбутніх видатних бухгалтерів, яким за іронією долі викладають лінійне програмування і до того ж вимагають виконання розрахункових робіт.
Ну тоді, так, так, у сесію швидкість розробки програми, яка генерує готову контрольну для неуків, це саме воно!!! ;)
Як казав великий Безсмертний:
"Що швидко робиться, то криве родиться"  ;D
До того ж не знав, що ANSI C втратив кросплатформеність. Дякую, що сказали, тепер знатиму. 8-)

Замість післямови:
Наш завкафедрою звик до Fortran, і не визнає жодної іншої мови програмування. Спеціально для нього на машині стоїть Win’98, бо MS Fortran 4.0 не запускається під XP (а він звик саме до нього).  Де гарантія, що через пару років на місце Вашого пакета не прийде якийсь пакет на C#, D, E, F чи умовно кажучи G? А швидкість розробки буде взагалі "як бізнес зі швидкістю думки" :)
Коли вже програмісти великих проектів думатимуть над маленькими речами, а не над тим як швидше закондубасить чергового монстра?
« Змінено: 2007-12-17 17:15:37 від yurchor »
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній Dmitrey

  • Новачок
  • *
  • дописів: 12
  • Карма: +0/-0
Навіщо щось розробляти, якщо Вам потрібен просто розв’язок задачі лінійного програмування, для якого вже є готовий рецепт? :o
Чи Ви про проги для наших майбутніх видатних бухгалтерів, яким за іронією долі викладають лінійне програмування і до того ж вимагають виконання розрахункових робіт.
Ну тоді, так, так, у сесію швидкість розробки програми, яка генерує готову контрольну для неуків, це саме воно!!! ;)
Як казав великий Безсмертний:
"Що швидко робиться, то криве родиться"  ;D
До того ж не знав, що ANSI C втратив кросплатформеність. Дякую, що сказали, тепер знатиму. 8-)

ANSI C - це лише стандарт, а імплементації С у різних компіляторах не дуже сумісні між собою. Я знаю багато прикладів коли щось працює у одному компіляторі та не працює у багатьох інших.
Цю думку Безсмертного я сам не раз цитував, але тут вважаю її недоречною.
Щодо програм для розв'язування задач LP, наразі бесперечним лідером є ILOG CPLEX, який у середньму у 2-4 рази швидший у задачах LP та особливо MILP ніж наявні бескоштовні солвери (коштує десь 5000$). Треба також зазначити про інші відомі комерційні ПЗ для LP: XPRESS, XA (якщо не помиляюсь усі США), німецький mosek. Усі вони дуже коштовні.
Тому я не розумію що саме Вас тут так насмішило.
P.S. Усе це я пишу по пам'яті, не рискаючи по гуглу та інтернету взагалі, так що якщо щось не дуже точно - вибачайте, задачі LP це не мій козир, взагалі на теренах СНД нормального LP солвера нема (як казав мені наш керівник Петро І. Стецюк), є хіба що glpk якщо не помиляюсь Андрія Махоріна з МАІ, але він на тестах крім гучної назви (GNU Linear Programming Kit) нічого особлиаого не показує навіть серед бескоштовних солверів, а як MILP він взагалі ніякий.
А може Ваш солвер наразі є конкурентньоспроможний? :)
Ну що ж, нехай Вам щастить.
Щодо гарантій - я звичайно нічого давати не буду. Кому надо - ті вже й так користуються. Так про будь-яку мову програмування можна сказати "де гарантії, що іі не витеснять інші?"
« Змінено: 2007-12-17 17:30:07 від Dmitrey »

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3641
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Щодо гарантій - я звичайно нічого давати не буду. Кому надо - ті вже й так користуються. Так про будь-яку мову програмування можна сказати "де гарантії, що іі не витеснять інші?"
Я просто хилив до того, що вони переписуватимуть на новій мові не Ваші пайтонівські програми, а старі сішні або фортранівські. Отже, якщо там немає нічого нового (багатопоточності, оптимізацій) порівняно з рецептами на С, на які посилаються Ваші визначення __homepage__, то не бачу різниці між безкоштовним сішним рецептом і пайтонівським, окрім хіба що затрат на перенавчання персоналу на пайтон. І в чому тоді українськість того "Українське ПЗ для чисельної оптимізації", в тому що написано на національній мові пайтон?
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній hse

  • Графоман
  • ****
  • дописів: 473
  • Карма: +0/-0
  • Gentoo Linux
Python - тормоз в матиматиці якого ще треба пошукати, так що швидкодія ваших чисельних оптимізацій буде бажати кращого. Так я знаю що є вже для Python різні прибамбаси для математики...
numarray?

Взагалі той же MATLAB це по суті оболонка до C-шних високооптимізованих бібліотек , частину в основному графіки вони переписали на Java , так що в плані швидкодії він далеко позаду Python + SciPy та обгорток над бібліотеками чисельної оптимізації буде. Крім того таких обгорток є досить багато + написати власну як на мене не надто складно. А західні ВУЗи, навіть дуже багаті не дуже здатні потягнути такий пакет як MATLAB, я не кажу вже про FEMLAB-и і інші надбудови, тому багато нових розробок робиться саме на Python + високооптимізована С+ ASM бібліотека. А ваша любов до MATLAB дуже швидко скінчиться, коли ви чи ваш ВУЗ відвалить добрячу суму за ліцензійну версію.
Можна подивитися на результати тестів, на які Ви спиралися висловлюючи думку про гальма у MATLAB, а отже і Octave та Scilab, як його аналоги у ВПЗ?

Я ніколи, ніде не радив купувати проприєтарщину!!! Схилав усіх в чисельних розрахунках до GNU/Octave бо на сьогоднішній день вона найшвидша і вільна, а те що сумістна з Matlab і має деякі свої розширення то це їй тільки плюс - на matlab багатенько вже наваляли і переписувати нічого не треба, все в GNU/Octave працюватиме

Scilab -тормоз порівняно з Octave не сумістний з matlab і Octave хоча зовні нагадує Matlab.

PS: один рахував якусь задачу каже - в GNU/Octave, scilab результат зійшовся а в краденому matlab був інший... Цікаво то тільки крадена версія так глючить?

Цитата
(а може й якийсь з компіляторів Python, "заточений" на швидкість та параллені розрахунки).
В сучасному пітоні threeds є так що їх можна вже використовувати в багатопоточному проограмуванні. З кожною версією Пітон стає все швидшим, скоро буде пітон 3000... Хоча для чисельних розрахунків поки Octeve найкраща на віть серед пропрієтарщиги!
бушократія - цинічний помаранчевий геноцид, витравлювання Української Нації, плюс мікрософтизація всієї країни.

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3641
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
В сучасному пітоні threeds є так що їх можна вже використовувати в багатопоточному проограмуванні. З кожною версією Пітон стає все швидшим, скоро буде пітон 3000... Хоча для чисельних розрахунків поки Octeve найкраща на віть серед пропрієтарщиги!
Це ті самі threads, які працюють лише на одному з процесорів і ігнорують всі інші?
« Змінено: 2007-12-17 21:24:21 від yurchor »
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній Dmitrey

  • Новачок
  • *
  • дописів: 12
  • Карма: +0/-0
Щодо гарантій - я звичайно нічого давати не буду. Кому надо - ті вже й так користуються. Так про будь-яку мову програмування можна сказати "де гарантії, що іі не витеснять інші?"
Я просто хилив до того, що вони переписуватимуть на новій мові не Ваші пайтонівські програми, а старі сішні або фортранівські. Отже, якщо там немає нічого нового (багатопоточності, оптимізацій) порівняно з рецептами на С, на які посилаються Ваші визначення __homepage__, то не бачу різниці між безкоштовним сішним рецептом і пайтонівським, окрім хіба що затрат на перенавчання персоналу на пайтон. І в чому тоді українськість того "Українське ПЗ для чисельної оптимізації", в тому що написано на національній мові пайтон?
Мені байдуже що там хтось буде переписувати та звідки. Це я казав лише про себе, бо переписувати з Пітону на фортресс дуже зручно, ці мови дуже схожі.
Щодо С vs Пітон я вже все написав вище. не хочу повторюватись. Зазначу лише що наразі С у індексі TIOBE йде до низу (і в мене нема ніяких сумнівів що свої позиції він вже не поверне, бо не дозволяє RAD), а Пітон угору: http://www.tiobe.com/index.htm?tiobe_index

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3641
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Щодо С vs Пітон я вже все написав вище. не хочу повторюватись. Зазначу лише що наразі С у індексі TIOBE йде до низу (і в мене нема ніяких сумнівів що свої позиції він вже не поверне, бо не дозволяє RAD), а Пітон угору: http://www.tiobe.com/index.htm?tiobe_index
Visual Basic іде вгору ще крутіше, а Fortran/Fortress там взагалі немає.  :'( Мабуть це рейтинг написання не спеціалізованих програмних продуктів, у який Ваші (та й мої) поробки ніколи не увійдуть... :(
Ще раз закликаю шановне панство до обдумування кроків: ну на біса RAD у суто математичних проблемах? ;)
/me з нетерпінням очікує на вихід мов з RTT (Rapid Thoughts Thinking) та RPW (Rapid Papers Writing)  ;)
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній Dmitrey

  • Новачок
  • *
  • дописів: 12
  • Карма: +0/-0
Щодо С vs Пітон я вже все написав вище. не хочу повторюватись. Зазначу лише що наразі С у індексі TIOBE йде до низу (і в мене нема ніяких сумнівів що свої позиції він вже не поверне, бо не дозволяє RAD), а Пітон угору: http://www.tiobe.com/index.htm?tiobe_index
Visual Basic іде вгору ще крутіше, а Fortran/Fortress там взагалі немає.  :'( Мабуть це рейтинг написання не спеціалізованих програмних продуктів, у який Ваші (та й мої) поробки ніколи не увійдуть... :(
Ще раз закликаю шановне панство до обдумування кроків: ну на біса RAD у суто математичних проблемах? ;)
/me з нетерпінням очікує на вихід мов з RTT (Rapid Thoughts Thinking) та RPW (Rapid Papers Writing)  ;)
1. Visual Basic не є вільним ПЗ
2. Якщо б Ви подивилися уважніше то побачили би що фортран наразі займає 22 місце. Доречі декілька місяців тому він був у 20-ці, тобто наразі йде до низу, що на мою думку прогнозовано.
3. Звідки там узятися Фортрес якщо стабільну версію компілятора розробники планують випустити лише у 2009-2010 році?
4. Ну не хочете ви RAD у математчному ПЗ, що мають MATLAB, MAPLE, MATCAD, Octave і таке інше - так працюйте й надалі у своїх С/Фортран, Вас же ніхто не примушує! Але не дарма ж DARPA стільки мільонів вкладає у Фортрес/X10/Chapel, бо вважає що сучасні мови не задовольняють сучасні проблеми, особливо на багатопроцесорних системах, недарма ж НАСА багато наукового ПЗ розробляє саме на Пітоні, і таке інше. Я може ще багато прикладів навести, зокрема з scipy-user mail list, але вважаю подальшу дискусію з цього питання недоречною. Доречі я вже казав про приклад з 2 тиждня прорамування на Фортран + 1 хвилина роботи vs 1 тиждень прорамування на Пітон + 2 хвилини роботи, це ж єкономія грошей, тому перша фірма може бути витиснена конкурентами, які є майже в усіх.  Але ще раз кажу, якщо не потрібен для Ваших задач RAD - ну й не користуйтеся!
Regards, D.

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3641
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Подивився тут.
Тепер питання: що таке треба розробляти, щоб потім міфічне пришвидшення розробки у 2-5 разів перекрило сповільнення отриманої програми у 1,9-240 (!!!!) разів?
Тест з множиною Мандельброта у 84 рази повільніший з сішний. Кращі гальма лише у Ruby, Scheme, Perl і PHP (з відомих). Але чомусь не чуть про значні математичні пакети для них...
До речі Lua швидша, не бажаєте комплект математичних програм на Lua?
Крім того висновки про гальма підтверджуються доповідями на конференціях з SciPy: вся важка робота (FEM, робота з великими матрицями) та інтеграція дістається програмам на C.
Втім, звичайно, можливо колись вийде Python 3000 і ситуація радикально зміниться... :-/
А про програмування? Навіщо програмувати щось на Fortran і С, якщо всі ті модулі, що включено до Вашого пакету уже запрограмовано на Fortran і C?
« Змінено: 2007-12-19 14:58:19 від yurchor »
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній Dmitrey

  • Новачок
  • *
  • дописів: 12
  • Карма: +0/-0
Шановний yurchor, Ви взагалі читаєте те що я пишу?
Я вже казав: усі ті тести швидкості Пітона vs інші мови (зокрема Lua) зроблені на чистому Пітоні, не беручі до уваги numpy/scipy.
Важаєте пришвидшення розробки міфічним? - Так не користуйтеся Пітоном, Вас ніхто не заставляє!
Якщо б ви достатньо уважно читали матеріали конференцій з SciPy, то зрозуміли би: усе що не критично до швидкості, робиться на Пітоні (зокрема тими хто бере участь у тих конференціях), і лише те що критично - стикується з кодом С, фортран і таке інше.
Останне питання я взагалі не розумію, розберіться будь ласка самі у тому що написали. Я лише підключив деякі С та фортран программи, користувачі залишились задоволені, це для мене вже достатній аргумент на користь правильних дій.
На усі Ваші теоретичні міркування я маю одну відповідь: раз розробка наукових програм на Пітоні робиться, то це вже комусь потрібно. Як вихованець технічного ВНЗ, я повинен надавати перевагу не якимось абстрактним теоретичним викладкам а фактам (у фізиці єксперемент завжди є більш важливим фактором ніж будь-яка теорія, яким би шанованим та авторитетним не був автор тієї теорії). Наразі вони свідчать про глибоку потребу у RAD-засобах, як наукових так і загальних, тому усі ці ваші теоретичні міркування авторітетними не вважаю.
« Змінено: 2007-12-19 15:43:06 від Dmitrey »

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3641
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Я — викладач технічного ВНЗ. Всякі надумані висловлювання також сприймаю критично. Скачав Ваш пакет і потестую його в порівнянні, наприклад з Maxima і переписаними Сі-рецептами. Буде швидше — користуватимусь, не буде — ну що ж...
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Praporshic

  • Гість
Випереджаючи продовження холлі-вару обом три години бану - охолонути.

TuxRoot

  • Гість
Off-topic:
Випереджаючи продовження холлі-вару обом три години бану - охолонути.
Використовуючи хотів лиш задати питання: тепер бан буде видаватись в заміну попередженню на певний проміжок часу? Ще раз прошу вибачення за те що не по темі. І взагалі цю балакинуну думаю перенести було б суцільніше.
[/offtopic]

Відсутній miwa

  • Літератор
  • ******
  • дописів: 1111
  • Карма: +0/-0
Випереджаючи продовження холлі-вару обом три години бану - охолонути.
Використовуючи хотів лиш задати питання: тепер бан буде видаватись в заміну попередженню на певний проміжок часу? Ще раз прошу вибачення за те що не по темі. І взагалі цю балакинуну думаю перенести було б суцільніше.
Зараз в Адміністраторській обговорюється проект нових правил поведінки на форумі. Зокрема там буде розглянута і система зміни покарань у звязку з появою можливості банити користувачів на певний довільний проміжок часу.
Читайте документацію - вона кермує.