Кіріспе

IPOPT, "Interior Point OPTimizer, I P Opt" деп аталатын, үздіксіз жүйелердің кең ауқымды сызықтық емес оңтайландыруына арналған бағдарламалық кітапхана. Ол C++ тілінде жазылған (Fortran және C-ден көшуден кейін) және EPL (бұрын CPL) лицензиясымен таратылады. IPOPT бастапқы-қос ішкі нүкте әдісін іске асырады және Флетчер мен Лейффердің сүзгі әдістеріне негізделген сызықтық іздеулерді пайдаланады. IPOPT-ті әртүрлі модельдеу орталарынан шақыруға болады: C, C++, Fortran, Java, R, Python және басқалары. IPOPT COIN OR жобасының бөлігі. IPOPT 1-ші туынды (градиент) және 2-ші туынды (Гессиан) туралы ақпаратты пайдалануға арналған, егер ол берілсе (әдетте AMPL сияқты модельдеу орталарында автоматты дифференциациялау арқылы). Егер Гессиандар берілмесе, IPOPT оларды квази-Ньютон әдістерін, атап айтқанда BFGS жаңартуын қолдана отырып, жуықтап есептейді. IPOPT бастапқыда Ph.D. студенті Андреас Вэхтер және профессор Лоренц Т. Биглер Карнеги-Меллон университетінің Химиялық инженерия факультетінде жасаған. Олардың жұмысы 2009 жылы INFORMS Computing Society жүлдесімен марапатталды. Арвинд Рагхунатан кейіннен тепе-теңдік шектеулерімен математикалық бағдарламалауға (MPEC) арналған IPOPT кеңейтімін жасады. IPOPT-тің бұл нұсқасы әдетте IPOPT C деп белгілі ("C" әрпі "толықтыру" дегенді білдіреді). Теориялық тұрғыдан алғанда, кез келген аралас бүтін сандық бағдарламаны MPEC ретінде қайта құруға болады, бірақ оны IPOPT C арқылы шешуге болады немесе болмайды. IPOPT-ті пайдаланып MINLP (аралас бүтін сандық сызықтық емес бағдарламалар) шешу мәселесі әлі де зерттелуде. Карл Лэрд және Андреас Вэхтер IPOPT 3.0-ды жасады, бұл IPOPT-ті C++ тілінде қайта іске асыру. Вэхтер мен Лэрд осы әзірлемесі үшін 2011 жылғы J. H. Wilkinson сандық бағдарламалық қамтамасыз ету жүлдесіне ие болды.