{"id":"https://openalex.org/W2912770206","doi":"https://doi.org/10.1109/cdc.2018.8619035","title":"A Parallel Code Generation Toolkit for Nonlinear Model Predictive Control","display_name":"A Parallel Code Generation Toolkit for Nonlinear Model Predictive Control","publication_year":2018,"publication_date":"2018-12-01","ids":{"openalex":"https://openalex.org/W2912770206","doi":"https://doi.org/10.1109/cdc.2018.8619035","mag":"2912770206"},"language":"en","primary_location":{"id":"doi:10.1109/cdc.2018.8619035","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cdc.2018.8619035","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 IEEE Conference on Decision and Control (CDC)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5025739417","display_name":"Haoyang Deng","orcid":"https://orcid.org/0000-0002-5415-5345"},"institutions":[{"id":"https://openalex.org/I22299242","display_name":"Kyoto University","ror":"https://ror.org/02kpeqv85","country_code":"JP","type":"education","lineage":["https://openalex.org/I22299242"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Haoyang Deng","raw_affiliation_strings":["Department of Systems Science, Kyoto University, Kyoto, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Systems Science, Kyoto University, Kyoto, Japan","institution_ids":["https://openalex.org/I22299242"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5014103535","display_name":"Toshiyuki Ohtsuka","orcid":"https://orcid.org/0000-0003-3554-8933"},"institutions":[{"id":"https://openalex.org/I22299242","display_name":"Kyoto University","ror":"https://ror.org/02kpeqv85","country_code":"JP","type":"education","lineage":["https://openalex.org/I22299242"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Toshiyuki Ohtsuka","raw_affiliation_strings":["Department of Systems Science, Kyoto University, Kyoto, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Systems Science, Kyoto University, Kyoto, Japan","institution_ids":["https://openalex.org/I22299242"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I22299242"],"apc_list":null,"apc_paid":null,"fwci":1.124,"has_fulltext":false,"cited_by_count":13,"citation_normalized_percentile":{"value":0.80343588,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"4920","last_page":"4926"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10791","display_name":"Advanced Control Systems Optimization","score":0.9994000196456909,"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.9994000196456909,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9936000108718872,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10876","display_name":"Fault Detection and Control Systems","score":0.9865999817848206,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7704324126243591},{"id":"https://openalex.org/keywords/discretization","display_name":"Discretization","score":0.6908750534057617},{"id":"https://openalex.org/keywords/model-predictive-control","display_name":"Model predictive control","score":0.6614269018173218},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.6602887511253357},{"id":"https://openalex.org/keywords/matlab","display_name":"MATLAB","score":0.6328732967376709},{"id":"https://openalex.org/keywords/parallelizable-manifold","display_name":"Parallelizable manifold","score":0.6146343946456909},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5902557373046875},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5693483352661133},{"id":"https://openalex.org/keywords/realizability","display_name":"Realizability","score":0.5580292344093323},{"id":"https://openalex.org/keywords/nonlinear-system","display_name":"Nonlinear system","score":0.509507954120636},{"id":"https://openalex.org/keywords/inverted-pendulum","display_name":"Inverted pendulum","score":0.478933185338974},{"id":"https://openalex.org/keywords/double-inverted-pendulum","display_name":"Double inverted pendulum","score":0.4244103729724884},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.4175451397895813},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.34219515323638916},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.29430311918258667},{"id":"https://openalex.org/keywords/control","display_name":"Control (management)","score":0.2516019344329834},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.21352243423461914},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.10076481103897095},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.09231817722320557}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7704324126243591},{"id":"https://openalex.org/C73000952","wikidata":"https://www.wikidata.org/wiki/Q17007827","display_name":"Discretization","level":2,"score":0.6908750534057617},{"id":"https://openalex.org/C172205157","wikidata":"https://www.wikidata.org/wiki/Q1782962","display_name":"Model predictive control","level":3,"score":0.6614269018173218},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.6602887511253357},{"id":"https://openalex.org/C2780365114","wikidata":"https://www.wikidata.org/wiki/Q169478","display_name":"MATLAB","level":2,"score":0.6328732967376709},{"id":"https://openalex.org/C148047603","wikidata":"https://www.wikidata.org/wiki/Q1014612","display_name":"Parallelizable manifold","level":2,"score":0.6146343946456909},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5902557373046875},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5693483352661133},{"id":"https://openalex.org/C2776378722","wikidata":"https://www.wikidata.org/wiki/Q3454417","display_name":"Realizability","level":2,"score":0.5580292344093323},{"id":"https://openalex.org/C158622935","wikidata":"https://www.wikidata.org/wiki/Q660848","display_name":"Nonlinear system","level":2,"score":0.509507954120636},{"id":"https://openalex.org/C192921069","wikidata":"https://www.wikidata.org/wiki/Q550134","display_name":"Inverted pendulum","level":3,"score":0.478933185338974},{"id":"https://openalex.org/C102540577","wikidata":"https://www.wikidata.org/wiki/Q5300047","display_name":"Double inverted pendulum","level":4,"score":0.4244103729724884},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.4175451397895813},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.34219515323638916},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.29430311918258667},{"id":"https://openalex.org/C2775924081","wikidata":"https://www.wikidata.org/wiki/Q55608371","display_name":"Control (management)","level":2,"score":0.2516019344329834},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.21352243423461914},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10076481103897095},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.09231817722320557},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/cdc.2018.8619035","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cdc.2018.8619035","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 IEEE Conference on Decision and Control (CDC)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W1839440842","https://openalex.org/W1971930153","https://openalex.org/W1977164425","https://openalex.org/W1977718710","https://openalex.org/W1988888548","https://openalex.org/W1999502602","https://openalex.org/W2013439434","https://openalex.org/W2014189117","https://openalex.org/W2021710897","https://openalex.org/W2026079951","https://openalex.org/W2044494131","https://openalex.org/W2092057142","https://openalex.org/W2098525253","https://openalex.org/W2140153041","https://openalex.org/W2150187377","https://openalex.org/W2150871235","https://openalex.org/W2157356547","https://openalex.org/W2207508264","https://openalex.org/W2288231337","https://openalex.org/W2498097222","https://openalex.org/W2525105744","https://openalex.org/W2900794160","https://openalex.org/W2961703895","https://openalex.org/W6756500645"],"related_works":["https://openalex.org/W2024927487","https://openalex.org/W1492838287","https://openalex.org/W2034778971","https://openalex.org/W2349578589","https://openalex.org/W2612646280","https://openalex.org/W2893549521","https://openalex.org/W2204278379","https://openalex.org/W2381121570","https://openalex.org/W2379721524","https://openalex.org/W2341932412"],"abstract_inverted_index":{"This":[0],"paper":[1],"presents":[2],"a":[3,50,116,123],"MATLAB":[4],"software":[5],"toolkit":[6],"ParNMPC,":[7,56],"which":[8,57],"can":[9],"automatically":[10],"generate":[11,98],"parallel":[12,103],"C/C++":[13,104],"code":[14,105],"and":[15,96,100,120],"carry":[16],"out":[17],"closed-loop":[18],"simulation":[19],"for":[20,29],"nonlinear":[21],"model":[22],"predictive":[23],"control":[24,41],"(NMPC).":[25],"ParNMPC":[26,84,110],"is":[27,46,70],"built":[28],"shared-memory":[30],"multi-core":[31],"processors":[32],"supporting":[33],"the":[34,59,71,77,81,91],"OpenMP":[35],"programming":[36],"interface.":[37],"The":[38,107],"underlying":[39],"optimal":[40,60],"problem":[42],"(OCP)":[43],"in":[44,55,80],"NMPC":[45],"solved":[47],"based":[48],"on":[49],"highly":[51,101],"parallelizable":[52],"Newton-type":[53],"method":[54],"computes":[58],"solution":[61],"iteratively":[62],"with":[63],"at":[64],"most":[65],"N":[66,69],"cores,":[67],"where":[68],"number":[72],"of":[73,109],"discretization":[74],"grids":[75],"or":[76],"prediction":[78],"horizon":[79],"discrete-time":[82],"case.":[83],"provides":[85],"an":[86],"easy-to-use":[87],"environment":[88],"to":[89,97],"formulate":[90],"OCP":[92],"using":[93],"symbolic":[94],"representation":[95],"customizable":[99],"optimized":[102],"automatically.":[106],"performance":[108],"was":[111],"demonstrated":[112],"by":[113,121],"swinging":[114],"up":[115],"double":[117],"inverted":[118],"pendulum":[119],"controlling":[122],"quadrotor.":[124]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":4},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":1}],"updated_date":"2026-06-26T08:34:08.712188","created_date":"2025-10-10T00:00:00"}
