{"id":"https://openalex.org/W3007532216","doi":"https://doi.org/10.1016/j.ifacol.2020.12.071","title":"OpEn: Code Generation for Embedded Nonconvex Optimization","display_name":"OpEn: Code Generation for Embedded Nonconvex Optimization","publication_year":2020,"publication_date":"2020-01-01","ids":{"openalex":"https://openalex.org/W3007532216","doi":"https://doi.org/10.1016/j.ifacol.2020.12.071","mag":"3007532216"},"language":"en","primary_location":{"id":"doi:10.1016/j.ifacol.2020.12.071","doi":"https://doi.org/10.1016/j.ifacol.2020.12.071","is_oa":true,"landing_page_url":"https://doi.org/10.1016/j.ifacol.2020.12.071","pdf_url":null,"source":{"id":"https://openalex.org/S2898405271","display_name":"IFAC-PapersOnLine","issn_l":"2405-8963","issn":["2405-8963","2405-8971"],"is_oa":true,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-1","poland-20","vabb-shw"],"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IFAC-PapersOnLine","raw_type":"journal-article"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["arxiv","crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1016/j.ifacol.2020.12.071","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5051529774","display_name":"Pantelis Sopasakis","orcid":"https://orcid.org/0000-0002-4584-2354","observed_orcids":["https://orcid.org/0000-0002-4584-2354"]},"institutions":[{"id":"https://openalex.org/I126231945","display_name":"Queen's University Belfast","ror":"https://ror.org/00hswnk62","country_code":"GB","type":"education","lineage":["https://openalex.org/I126231945"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Pantelis Sopasakis","raw_affiliation_strings":["Queen\u2019s University Belfast, School of Electronics, Electrical Engineering and Computer Science (EEECS) and Centre for Intelligent and Autonomous Manufacturing Systems (i-AMS), Ashby Building, Stranmillis Road, BT9 5AG Belfast, Northern Ireland","Queen\u2019s University , Belfast"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Queen\u2019s University Belfast, School of Electronics, Electrical Engineering and Computer Science (EEECS) and Centre for Intelligent and Autonomous Manufacturing Systems (i-AMS), Ashby Building, Stranmillis Road, BT9 5AG Belfast, Northern Ireland","institution_ids":["https://openalex.org/I126231945"]},{"raw_affiliation_string":"Queen\u2019s University , Belfast","institution_ids":["https://openalex.org/I126231945"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5049700131","display_name":"Emil Fresk","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Emil Fresk","raw_affiliation_strings":["WideFind AB, Aurorum 1C, 977 75 Lule\u00e5, Sweden"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"WideFind AB, Aurorum 1C, 977 75 Lule\u00e5, Sweden","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5031380765","display_name":"Panagiotis Patrinos","orcid":"https://orcid.org/0000-0003-4824-7697","observed_orcids":["https://orcid.org/0000-0003-4824-7697"]},"institutions":[{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Panagiotis Patrinos","raw_affiliation_strings":["KU Leuven, Department of Electrical Engineering (ESAT), STADIUS Center for Dynamical Systems, Signal Processing and Data Analytics & Optimization in Engineering (OPTEC), Kasteelpark Arenberg 10, 3001 Leuven, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"KU Leuven, Department of Electrical Engineering (ESAT), STADIUS Center for Dynamical Systems, Signal Processing and Data Analytics & Optimization in Engineering (OPTEC), Kasteelpark Arenberg 10, 3001 Leuven, Belgium","institution_ids":["https://openalex.org/I99464096"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5051529774"],"corresponding_institution_ids":["https://openalex.org/I126231945"],"apc_list":{"value":0,"currency":"USD","value_usd":0},"apc_paid":null,"fwci":7.125,"has_fulltext":true,"cited_by_count":100,"citation_normalized_percentile":{"value":0.98026694,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":98,"max":100},"biblio":{"volume":"53","issue":"2","first_page":"6548","last_page":"6554"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10791","display_name":"Advanced Control Systems Optimization","score":0.5189999938011169,"subfield":{"id":"https://openalex.org/subfields/2207","display_name":"Control and Systems Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10791","display_name":"Advanced Control Systems Optimization","score":0.5189999938011169,"subfield":{"id":"https://openalex.org/subfields/2207","display_name":"Control and Systems Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10963","display_name":"Advanced Optimization Algorithms Research","score":0.41990000009536743,"subfield":{"id":"https://openalex.org/subfields/2612","display_name":"Numerical Analysis"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10545","display_name":"Optimization and Variational Analysis","score":0.04500000178813934,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/open","display_name":"open","score":0.7229999899864197},{"id":"https://openalex.org/keywords/embedded-optimization","display_name":"embedded optimization","score":0.6539999842643738},{"id":"https://openalex.org/keywords/nonconvex-optimization","display_name":"non-convex optimization","score":0.9940000176429749},{"id":"https://openalex.org/keywords/code-generation","display_name":"code generation","score":0.8460000157356262},{"id":"https://openalex.org/keywords/optimal-control","display_name":"optimal control","score":0.9139999747276306},{"id":"https://openalex.org/keywords/penalty-function","display_name":"penalty method","score":0.777999997138977},{"id":"https://openalex.org/keywords/augmented-lagrangian-method","display_name":"augmented Lagrangian method","score":0.9620000123977661},{"id":"https://openalex.org/keywords/critical-points","display_name":"critical points","score":0.7160000205039978},{"id":"https://openalex.org/keywords/real-time-embedded-systems","display_name":"real-time embedded systems","score":0.5960000157356262},{"id":"https://openalex.org/keywords/rust-programming-language","display_name":"Rust","score":0.8339999914169312},{"id":"https://openalex.org/keywords/open-source-solver","display_name":"open-source solver","score":0.7450000047683716}],"concepts":[{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.723528265953064},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.678128182888031},{"id":"https://openalex.org/C74912251","wikidata":"https://www.wikidata.org/wiki/Q6815727","display_name":"Memory footprint","level":2,"score":0.6374831199645996},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.6058903932571411},{"id":"https://openalex.org/C126255220","wikidata":"https://www.wikidata.org/wiki/Q141495","display_name":"Mathematical optimization","level":1,"score":0.5895843505859375},{"id":"https://openalex.org/C2780365114","wikidata":"https://www.wikidata.org/wiki/Q169478","display_name":"MATLAB","level":2,"score":0.5604695081710815},{"id":"https://openalex.org/C2777303404","wikidata":"https://www.wikidata.org/wiki/Q759757","display_name":"Convergence (economics)","level":2,"score":0.46000343561172485},{"id":"https://openalex.org/C62438384","wikidata":"https://www.wikidata.org/wiki/Q331350","display_name":"Simplex","level":2,"score":0.42231595516204834},{"id":"https://openalex.org/C150452318","wikidata":"https://www.wikidata.org/wiki/Q4820432","display_name":"Augmented Lagrangian method","level":2,"score":0.41661933064460754},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4141795039176941},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4131259024143219},{"id":"https://openalex.org/C3018397939","wikidata":"https://www.wikidata.org/wiki/Q3644502","display_name":"Open source","level":3,"score":0.4107228219509125},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.2979973554611206},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.19714072346687317},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.1654665172100067},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.14974763989448547},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.14594489336013794},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.11679288744926453},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C50522688","wikidata":"https://www.wikidata.org/wiki/Q189833","display_name":"Economic growth","level":1,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1016/j.ifacol.2020.12.071","doi":"https://doi.org/10.1016/j.ifacol.2020.12.071","is_oa":true,"landing_page_url":"https://doi.org/10.1016/j.ifacol.2020.12.071","pdf_url":null,"source":{"id":"https://openalex.org/S2898405271","display_name":"IFAC-PapersOnLine","issn_l":"2405-8963","issn":["2405-8963","2405-8971"],"is_oa":true,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-1","poland-20","vabb-shw"],"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IFAC-PapersOnLine","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2003.00292","doi":null,"is_oa":true,"landing_page_url":"http://arxiv.org/abs/2003.00292","pdf_url":"https://arxiv.org/pdf/2003.00292","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:lirias2repo.kuleuven.be:123456789/670831","doi":null,"is_oa":true,"landing_page_url":"https://lirias.kuleuven.be/handle/123456789/670831","pdf_url":"https://lirias.kuleuven.be/bitstream/123456789/670831/2/OpEn%3a%20Code%20Generation%20for%20Embedded%20Nonconvex%20Optimization.pdf","source":{"id":"https://openalex.org/S7407055369","display_name":"Lirias","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"21st IFAC World Congress on Automatic Control - Meeting Societal Challenges, ELECTR NETWORK, 11-17 July 2020","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:pure.qub.ac.uk/portal:openaire/40f5232b-a5f1-4afe-8728-2953cbe891dc","doi":null,"is_oa":true,"landing_page_url":"https://pure.qub.ac.uk/en/publications/40f5232b-a5f1-4afe-8728-2953cbe891dc","pdf_url":"https://pureadmin.qub.ac.uk/ws/files/238381069/open.pdf","source":{"id":"https://openalex.org/S4306402319","display_name":"Research Portal (Queen's University Belfast)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I126231945","host_organization_name":"Queen's University Belfast","host_organization_lineage":["https://openalex.org/I126231945"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Sopasakis, P, Fresk, E & Patrinos, P 2021, 'OpEn: Code Generation for Embedded Nonconvex Optimization', IFAC-PapersOnLine, vol. 53, no. 2, pp. 6548-6554. https://doi.org/10.1016/j.ifacol.2020.12.071","raw_type":"info:eu-repo/semantics/article"},{"id":"doi:10.48550/arxiv.2003.00292","doi":"https://doi.org/10.48550/arxiv.2003.00292","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2003.00292","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Preprint"}],"best_oa_location":{"id":"doi:10.1016/j.ifacol.2020.12.071","doi":"https://doi.org/10.1016/j.ifacol.2020.12.071","is_oa":true,"landing_page_url":"https://doi.org/10.1016/j.ifacol.2020.12.071","pdf_url":null,"source":{"id":"https://openalex.org/S2898405271","display_name":"IFAC-PapersOnLine","issn_l":"2405-8963","issn":["2405-8963","2405-8971"],"is_oa":true,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-1","poland-20","vabb-shw"],"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IFAC-PapersOnLine","raw_type":"journal-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3007532216.pdf","grobid_xml":"https://content.openalex.org/works/W3007532216.grobid-xml"},"referenced_works_count":29,"referenced_works":["https://openalex.org/W1970101292","https://openalex.org/W1977164425","https://openalex.org/W1998661418","https://openalex.org/W2024435613","https://openalex.org/W2037678919","https://openalex.org/W2044494131","https://openalex.org/W2064217481","https://openalex.org/W2082569552","https://openalex.org/W2101986122","https://openalex.org/W2111313540","https://openalex.org/W2117402460","https://openalex.org/W2123871098","https://openalex.org/W2166044927","https://openalex.org/W2466668725","https://openalex.org/W2515329741","https://openalex.org/W2609162628","https://openalex.org/W2623497576","https://openalex.org/W2765126336","https://openalex.org/W2766984896","https://openalex.org/W2782618081","https://openalex.org/W2842089854","https://openalex.org/W2901679846","https://openalex.org/W2903902823","https://openalex.org/W2950312551","https://openalex.org/W2963011664","https://openalex.org/W3029645440","https://openalex.org/W3129359203","https://openalex.org/W4301014524","https://openalex.org/W6751258048"],"related_works":["https://openalex.org/W2186753764","https://openalex.org/W2018365277","https://openalex.org/W2510870520","https://openalex.org/W2605831691","https://openalex.org/W2027928741","https://openalex.org/W4226258198","https://openalex.org/W2117402460","https://openalex.org/W1550778341","https://openalex.org/W1530724886","https://openalex.org/W6928902098"],"abstract_inverted_index":{"We":[0],"present":[1],"Optimization":[2],"Engine":[3],"(OpEn):":[4],"an":[5],"open-source":[6],"code":[7],"generation":[8],"framework":[9],"for":[10,28],"real-time":[11],"embedded":[12,78],"nonconvex":[13,45,75],"optimization,":[14],"which":[15],"implements":[16],"a":[17,60,88,111],"novel":[18],"numerical":[19],"method.":[20],"OpEn":[21],"combines":[22],"the":[23,33,72],"proximal":[24],"averaged":[25],"Newton-type":[26],"method":[27,49],"optimal":[29],"control":[30],"(PANOC)":[31],"with":[32],"penalty":[34],"and":[35,64,92],"augmented":[36],"Lagrangian":[37],"methods":[38],"to":[39],"compute":[40],"approximate":[41],"stationary":[42],"points":[43],"of":[44,74],"problems.":[46],"The":[47],"proposed":[48],"involves":[50],"very":[51,66],"simple":[52],"algebraic":[53],"operations":[54],"such":[55],"as":[56],"vector":[57],"products,":[58],"has":[59],"low":[61],"memory":[62],"footprint":[63],"exhibits":[65],"good":[67],"convergence":[68],"properties":[69],"that":[70],"allow":[71],"solution":[73],"problems":[76],"on":[77],"devices.":[79],"OpEn\u2019s":[80],"core":[81],"solver":[82],"is":[83,85],"written":[84],"Rust":[86],"\u2014":[87,97],"modern,":[89],"high-performance,":[90],"memory-safe":[91],"thread-safe":[93],"systems":[94],"programming":[95],"language":[96],"while":[98],"users":[99],"can":[100],"call":[101],"it":[102],"from":[103],"Python,":[104],"MATLAB,":[105],"C,":[106],"C++,":[107],"ROS":[108],"or":[109],"over":[110],"TCP":[112],"socket.":[113]},"counts_by_year":[{"year":2026,"cited_by_count":7},{"year":2025,"cited_by_count":11},{"year":2024,"cited_by_count":14},{"year":2023,"cited_by_count":25},{"year":2022,"cited_by_count":25},{"year":2021,"cited_by_count":10},{"year":2020,"cited_by_count":8}],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2020-03-06T00:00:00"}
