About me

I work in ETH Zürich, where I am currently a Principal Investigator (PI) sponsored by the Swiss National Science Foundation, a Senior Scientist, an NCCR Automation Researcher, a Guest Lecturer, and the Lead Developer of Daline. I am also an Associate Editor for both IEEE Systems Journal and the IET Renewable Power Generation. To know more about me, please click the Bio button or download my cv.

design icon

Power flow linearization approaches should be readily accessible as fundamental tools. We thus developed Daline, a data-driven power flow linearization toolbox. This open-source package features 57 linearization methods, including 53 data-driven methods and 4 commonly used physics-driven methods. Daline is free to use, quick to deploy, easy to code, and more than linearization. Interested? See Daline Official Website for more details.

model = daline.all('case118')
data = daline.generate('case.name', 'case118')
opt = daline.setopt('noise.SNR_dB', 45)
data = daline.noise(data, opt)
data = daline.outlier(data, 'outlier.switchTrain', 1, 'outlier.percentage', 2.5)
data = daline.denoise(data, 'filNoi.switchTrain', 1, 'filNoi.useARModel', false)
opt = daline.setopt('filNoi.useARModel', false, 'filNoi.zeroInitial', 0)
data = daline.deoutlier(data, opt)
data = daline.normalize(data, 'norm.switch', 1)
data = daline.data('num.trainSample', 500, 'num.testSample', 300)
opt = daline.setopt('data.baseType', 'TimeSeriesRand', 'method.name', 'RR')
data = daline.data('data.program', 'acpf', 'data.baseType', 'TimeSeriesRand')
model = daline.all('case118', 'method.name', 'RR')
data = daline.generate('case.name', 'case118')
data = daline.data('case.name', 'case39')
time_list = daline.time(data, {'LS', 'LS_SVD', 'RR'}, 'PLOT.repeat', 5, 'PLOT.style', 'light')
opt = daline.setopt('method.name', 'LS_PIN', 'variable.predictor', {'P', 'Q'}, 'variable.response', {'PF'})
model = daline.fit(data, opt)
opt = daline.setopt('method.name', 'LS_SVD', 'variable.response', {'PF'})
model = daline.fit(data, opt)
model = daline.fit(data, 'method.name', 'LS_COD')
model = daline.rank(data, method, opt)
opt = daline.setopt('data.program', 'acpf')
data = daline.data(opt)
model = daline.all('case118', 'method.name', 'RR')
data = daline.generate('data.baseType', 'TimeSeriesRand')
model = daline.fit(data, opt)
model = daline.fit(data, 'method.name', 'LS_COD')
model = daline.fit(data, 'method.name', 'LS_HBLE', 'HBL.language', 'yalmip', 'HBL.solver', 'quadprog', 'HBL.programType', 'whole')
model = daline.fit(data, 'method.name', 'LS_LIFX', 'variable.liftType', 'polyharmonic', 'variable.liftK', 2)
model = daline.fit(data, 'method.name', 'LS_WEI')
model = daline.fit(data, 'method.name', 'DRC_XYM', 'DRC.probThreshold', 90, 'DRC.gamma2', 0.5, 'DRC.language', 'cvx', 'DRC.solverM', 'Mosek', 'DRC.programType', 'whole')
model = daline.fit(data, 'method.name', 'LS_REC', 'LSR.recursivePercentage', 30, 'LSR.initializeP', 0)
model = daline.fit(data, 'method.name', 'LS_REP', 'LSR.recursivePercentage', 75)
model = daline.rank(data, {'DLPF_C', 'RR', 'PLS_REC'}, 'RR.lambdaInterval', 1e-5, 'RR.cvNumFold', 4, 'PLS.recursivePercentage', 40)
time_list = daline.time(data, {'LS', 'LS_SVD', 'RR'})
model = daline.fit(data, 'method.name', 'LS_PIN')
model = daline.fit(data, opt)
model = daline.fit(data, 'method.name', 'LS_COD')
model = daline.fit(data, 'method.name', 'LS_HBLE')
model = daline.fit(data, 'method.name', 'LS_LIFX')
model = daline.fit(data, 'method.name', 'LS_WEI')
model = daline.fit(dataN, 'method.name', 'DRC_XYM')
model = daline.fit(data, 'method.name', 'LS_REC')
model = daline.fit(data, 'method.name', 'LS_REP')
model = daline.rank(data, {'DLPF_C', 'RR', 'PLS_REC'})
time_list = daline.time(data, {'LS', 'LS_SVD', 'RR'})
model = daline.fit(data, 'method.name', 'LS_PIN')
model = daline.fit(data, 'method.name', 'LS_SVD')
model = daline.fit(data, 'method.name', 'LS_COD')
data = daline.data('case.name', 'case39')
opt = daline.setopt('variable.predictor', {'P', 'Q'}, 'variable.response', {'PF', 'Vm'})
daline.rank(data, methods)
daline.rank(data, methods, 'PLOT.response', {'Vm', 'PF'})
daline.rank(data, {'TAY', 'QR'}, 'PLOT.theme', 'commercial', 'PLOT.style', 'light')
daline.time(data, methods)
daline.time(datalist, methods)
data = daline.data('case.name', 'case39')
opt = daline.setopt('variable.predictor', {'P', 'Q'}, 'variable.response', {'PF', 'Vm'}, 'PLOT.repeat', 5, 'PLOT.style', 'light')
time_list = daline.time(data, 'LS', 'LS_SVD', 'RR', opt)
opt = daline.setopt('method.name', 'LS_PIN', 'variable.predictor', {'P', 'Q'}, 'variable.response', {'PF'})
model = daline.fit(data, opt)
opt = daline.setopt('method.name', 'LS_SVD', 'variable.predictor', {'P', 'Q'}, 'variable.response', {'PF'})
model = daline.fit(data, opt)
opt = daline.setopt('method.name', 'LS_COD', 'variable.predictor', {'P', 'Q'}, 'variable.response', {'PF'})
model = daline.fit(data, opt)
model = daline.rank(data, method, opt)
data = daline.generate('case.name', 'case118', 'data.program', 'acpf', 'data.baseType', 'TimeSeriesRand')
opt = daline.setopt('noise.switchTrain', 1, 'noise.switchTest', 1, 'noise.SNR_dB', 45)
data = daline.noise(data, opt)
data = daline.outlier(data, 'outlier.switchTrain', 1, 'outlier.percentage', 2.5)
data = daline.denoise(data, 'filNoi.switchTrain', 1, 'filNoi.useARModel', false)
opt = daline.setopt('filNoi.switchTrain', 1, 'filNoi.useARModel', false, 'filNoi.zeroInitial', 0)
data = daline.deoutlier(data, opt)
data = daline.normalize(data, 'norm.switch', 1)
data = daline.data('case.name', 'case118', 'num.trainSample', 500, 'num.testSample', 300, 'data.program', 'acpf', 'data.baseType', 'TimeSeries', 'noise.switchTrain', 1, 'outlier.switchTrain', 1, 'norm.switch', 1)
opt = daline.setopt('data.baseType', 'TimeSeries', 'method.name', 'RR')
data = daline.data('case.name', 'case118', 'data.program', 'acpf', 'data.baseType', 'TimeSeries')
opt = daline.setopt('case.name', 'case57', 'data.program', 'acpf', 'data.baseType', 'TimeSeries'); data = daline.data(opt)
model = daline.all('case118', 'data.baseType', 'Random', 'method.name', 'RR')

Recent News


To see more announcements, please click the News button at the navigation bar.

Selected Works

To see more of my works, please scroll right or click the Research button at the navigation bar.

Sponsors

Biography

Experience

  1. Senior Scientist

    2023 — Present

    At the Power Systems Laboratory, ETH Zürich

  2. NCCR Researcher

    2023 — Present

    Join NCCR Automation and work on one of the most fundamental topics in the energy domain, i.e., linearity in energy systems.

  3. Guest Lecturer

    2023 — Present

    Teach two primary lectures for "Optimization of Energy Systems," a graduate lecture held in the Spring semester of ETH Zürich.

  4. Associate Editor

    2023 — Present

    Serve for two international journals, the IEEE Systems Journal (Impact Factor: 4.802) and the IET Renewable Power Generation (Impact Factor: 3.304).

  5. Postdoctoral Researcher

    2021 — 2023

    Work with Prof. Dr. Gabriela Hug at the Power Systems Laboratory, ETH Zürich

  6. Academic Assistant

    2020 — 2021

    In the Dept. Electrical Engineering of Tsinghua University, I operated the department's official social media account (WeChat) regarding academic activities, co-organized the "Tsinghua University-IET" Electrical Engineering Academic Forum twice, and provided academic resource support and services for all faculty members and graduate students.

  7. Counselor

    2018 — 2019

    In the Dept. Electrical Engineering of Tsinghua University, I provided support services for fresh graduate students, managed the team buildings for fresh graduate students, assisted new students in connecting with departmental and university resources, and guided students through academic procedures to facilitate their transition into graduate studies.

  8. Organizer

    2018 — 2019

    As an organizer of an international-organization-oriented excursion team of Tsinghua University, I independently established contact with over 10 international organizations, including the United Nations and the World Trade Organization (WTO). I organized 8 comprehensive interviews with international organization representatives. Our excursion had gained recognition through extensive media coverage by media like Guangming Daily, The Paper, and Tsinghua News.

  9. President, Graduate Student Union

    2017 — 2018

    I was elected as the President of the Graduate Student Union at the Dept. Electrical Engineering of Tsinghua University. I had gained over 83% of the live vote after my speech, demonstrating widespread peer support. I served a community of nearly 600 graduate students within the department. I had organized over 45 events encompassing cultural, sports, and academic activities.

Education

  1. Tsinghua University

    2016 — 2021

    Received my Ph.D. degree in electrical engineering, Tsinghua University. Graduated with Springer Thesis Award, Tsinghua Outstanding Ph.D. Graduate (only 2 winners in the department), Tsinghua Outstanding Ph.D. Thesis (6 winners in the department), and Beijing Outstanding Ph.D. Graduate (6 winners in the department).

  2. North China Electric Power University

    2012 — 2016

    Received my the B.E. degree in electrical engineering, North China Electric Power University. Ranked first in my major for 4 consecutive years. Graduated with the Principal Scholarship (highest honor for students, only 10 winners in the university, undergrad + grad).


For more of my bio, please check my cv.

News

Research


Images are generated by Generative AI and may contain typos.
For more of my works, please check my cv or my Google Scholar.

Awards

  • design icon

    First Prize of High-influence Papers

    Awarded by Chinese Society for Electrical Engineering, High Voltage Committee, in April 2023.

  • design icon

    Springer Thesis Award

    Awarded by Springer, in April 2022.

  • design icon

    Tsinghua Outstanding Ph.D. Graduate

    Awarded by Tsinghua University, in June 2021. There were only 2 winners in the department.

  • design icon

    Tsinghua Outstanding Ph.D. Thesis

    Awarded by Tsinghua University, in June 2021. There were only 6 winners in the department.

  • design icon

    Beijing Outstanding Ph.D. Graduate

    Awarded by Beijing Ministry of Education, in June 2021. There were only 6 winners in the department.

  • design icon

    First Prize Scholarship

    Awarded by Tsinghua University, in November 2021.

  • design icon

    Excellent Administrative Assistant

    Awarded by Tsinghua University, in December 2018.

  • design icon

    Excellent Student Leader

    Awarded by Tsinghua University, in October 2017.

  • design icon

    Outstanding Graduates of Hebei Province, China

    Awarded by Hebei Ministry of Education, in March 2016.

  • design icon

    Principal Scholarship

    Awarded by North China Electric Power University, in December 2015. This is the highest honor for students, only 10 winners in the university, undergrad + grad.

  • design icon

    National Scholarship

    Awarded by Chinese Ministry of Education, in November 2015.

  • design icon

    UHV Power Grid Scholarship

    Awarded by UHV Scholarship Fund, in October 2015.

  • design icon

    Meritorious Winner

    Awarded by Consortium for Mathematics and Its Application, in June 2015.

  • design icon

    National Scholarship

    Awarded by Chinese Ministry of Education, in November 2014.

  • design icon

    National Scholarship

    Awarded by Chinese Ministry of Education, in November 2013.

Contact

Contact Form