presentation title - it.mathworks.com€¦ · 10 实例: 电池测试数据处理 目标: –...

Post on 03-Aug-2020

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 © 2014 The MathWorks, Inc.

Presentation Title

By Author

2

MATLAB数据管理与优化技术

卓金武

Application Engineer

steven.zhuo@mathworks.cn

3

内容提要

MATLAB数据处理概要

MATLAB数据处理应用实例

MATLAB优化技术及应用实例

总结

4

MATLAB数据处理流程

Reporting and

Documentation

Outputs for Design

Deployment

Share

Explore & Discover

Data Analysis

& Modeling

Algorithm

Development

Application

Development

Files

Software

Hardware

Access

Code & Applications

Automate

5

获取数据

文件

– Excel, text, or binary

– Multimedia

– Web

应用程序和数据库

– C/C++, Java, FORTRAN

– COM, .NET, shared libraries

– Databases

硬件

– 信号和图像读取硬件

– 单机仪器

Explore & Discover Share Access

6

数据分析和可视化(探索)

数据分析

– 组织、预处理和管理数据

– 用数学和工程函数快速、准确分析

可视化

– 绘图函数(2D, 3D, VolViz)

– 自定义图形

Explore & Discover Share Access

7

发挥MATLAB功能

功能工具:

– Statistics and curve fitting

– Signal and image processing

– System identification and

control system analysis

– Neural networks and fuzzy logic

– Optimization

– Model-based calibration and more …

合作工具:

– 多个领域

– 多种形式

Explore & Discover Share Access

8

分享结果

自动生成报告

将结果传递给下游处理工具

部署应用到其它环境

Explore & Discover Share Access

9

内容提要

MATLAB数据处理概要

MATLAB数据处理应用实例

MATLAB优化技术及应用实例

总结

10

实例: 电池测试数据处理

目标: – 处理电池测试数据,以用于精确的参数估

计和模型建立

方法: – 导入并对数据进行可视化

– 自动执行数据处理流程

– 以不同的形式分享结果

相关工具箱:

– MATLAB

– Statistics Toolbox

0 500 1000 1500 2000 2500 3000 3500 4000 45007.5

8

8.5

9

9.5

10

10.5

Time (s)

Voltage (

V)

Raw Data

0 500 1000 1500 2000 2500 3000 3500 4000 4500-0.01

0

0.01

0.02

0.03

Time (s)

Curr

ent

(Am

p)

0 500 1000 1500 2000 2500 3000 3500 40008

8.5

9

9.5

10

10.5Voltage Data

Time (s)

Voltage

Original Data

Smoothed Data

0 500 1000 1500 2000 2500 3000 3500 4000-0.01

-0.005

0

0.005

0.01

0.015

0.02

0.025

subTime

subC

urr

ent

subCurrent vs. subTime

Excluded subCurrent vs. subTime

untitled fit 1

11

实例:汽车座椅震动分析

目标 – 确定哪种控制器对于降低座椅震

动最有效

方法 – 对座椅的震动数据进行处理

– 对振动器的性能和稳定性进行分

相关工具箱:

– MATLAB

– Statistics Toolbox

12

内容提要

MATLAB数据处理概要

MATLAB数据处理应用实例

MATLAB优化技术及应用实例

总结

13

优化流程

初始设计参数

模型

修正设计参数

最佳设计 目标

No

Yes

14

优化问题

最小化风险

最大化收益

最大化燃料利用率

15

引例: 求解一个典型的优化问题

2变量目标函数:

𝑓 𝑥 = log 1 + 3 𝑥2 − 𝑥13 − 𝑥1

2 + 𝑥1 −4

3

2

边界约束:

−2.5 ≤ 𝑥1 ≤ 2.5

−2.5 ≤ 𝑥2 ≤ 2.5

-2

-1

0

1

2

-2

-1

0

1

2

0

2

4

6

16

引例优化路径

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-2-1.5

-1-0.5

00.5

11.5

2

-1

-0.5

0

0.5

1

Objective

Evaluated Pts.

Solver Steps

17

应用实例: 水力发电厂优化

Spill Flow

Turbine Flow

Project Flow In Flow Reservoir

Storage

Electricity

变量:

涡轮机流量和溢出量

目标:

最大化收益

18

水力发电厂优化结果

0 5 10 15 20 25 30 35 40 45 5035

40

45

50

55

Time (hrs)

Price (

$/M

Wh)

Electricity Prices

0 5 10 15 20 25 30 35 40 45 500

1000

2000

3000

4000

Flow (CFS)

Tim

e (

hrs

)

Spill and Turbine Flow Rates

Turbine Flow

Spill Flow

19

投资组合优化—— 二次规划

最大化回报,以风险为约束

minimize − 𝑓𝑇𝑥 𝑠𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 1

2𝑥𝑇𝐶𝑥 ≤ 𝐶𝑚𝑎𝑥

用 fmincon 内点算法

– 制定分析梯度的目标及约束

𝑔 = −𝑓 (梯度目标函数)

𝑔𝑐 = 𝐶𝑥 (梯度约束)

– 黑森拉格朗日 L = −𝑓𝑇𝑥 + λ(1

2𝑥𝑇𝐶𝑥 − 𝐶𝑚𝑎𝑥)

H = ∇2 L = λC

20

投资组合优化结果

2 4 6 8 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1CVaR Portfolio Weights

2 4 6 8 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Mean-Variance Portfolio Weights

ANAT

CPTS

GEF

IFN

MYGN

HPQ

MDLZ

PG

VZ

XOM

AGG

BLV

BND

CSJ

21

整数规划

10,,

64

3

44

22

..

321

32

21

321

321

或xxx

xx

xx

xxx

xxx

ts

321 523Max xxxz

22

整数规划应用案例:生产、仓储、销售物流优化

0 2 4 6 8 10 120

2

4

6

8

10

12

Mapping of sales outlets to warehouses

Factory

Warehouse

Sales outlet

23

优化工具箱求解器

线性

• LINPROG

• BINTPROG

二次

• QUADPROG

非线性

• FMINCON

• FMINUNC

• FMINBND

• FMINSEARCH

• FSEMINF

最小二乘

• LSQLIN

• LSQNONNEG

• LSQCURVEFIT

• LSQNONLIN

非线性方程求解

• FSOLVE

• FZERO

多目标规划

• FGOALATTAIN

• FMINIMAX

24

-2

0

2

-3-2

-10

12

3

-6

-4

-2

0

2

4

6

8

x

Peaks

y

全局优化算法

多起点算法

全局搜索

模式搜索

遗传算法

模拟退火算法

Local minima Global

minima

25

什么是模式搜索?

围绕现存点按照一定模式进行搜索

当没有找到可行解时拓展/

收缩范围

不依赖梯度:适合于平滑和非平滑问题

26

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索– 第1次迭代 从指定的x0开始执行

x

y

3

27

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索–第1次迭代 应用模式矩阵, 检验新的点

x

y

3

Mesh size = 1

Pattern vectors = [1,0], [0,1], [-1,0], [0,-1]

0_*_ xvectorpatternsizemeshPnew

0]0,1[*1 x

1.6

0.4

4.6

2.8

First poll successful

Complete Poll (not default)

28

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索– 第2次迭代

x

y

3

Mesh size = 2

Pattern vectors = [1,0], [0,1], [-1,0], [0,-1]

1.6

0.4

4.6

2.8

-4

0.3 -2.8

Complete Poll

29

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索– 第3次迭代

x

y

3

Mesh size = 4

Pattern vectors = [1,0], [0,1], [-1,0], [0,-1]

1.6

0.4

4.6

2.8

-4

0.3 -2.8

30

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索– 第4次迭代

x

y

3

Mesh size = 4*0.5 = 2

Pattern vectors = [1,0], [0,1], [-1,0], [0,-1]

1.6

0.4

4.6

2.8

-4

0.3 -2.8

31

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

模式搜索– 第N次迭代 不断拓展或收缩,直到收敛

x

y

3 1.6

0.4

4.6

2.8

-4

0.3 -2.8

-6.5

32

模式搜索案例– 随机函数

随机目标函数

33

遗传算法

应用进化生物学的概念

从初始总群开始根据目标函数测试备选方案

通过选择、交叉、变异进化新的种群

34

遗传算法优化量化交易算法

Bit Position

Indiv

idual in

Popula

tion

1 2 3 4 5 6 7 8 9 10

20

40

60

80

100

120

140

0 500 1000 1500 2000 2500 3000 3500 40002600

2800

3000

3200

3400Evolutionary Learning Resutls, Sharpe Ratio = 15.1

0 500 1000 1500 2000 2500 3000 3500 4000-1000

0

1000

2000

3000Final Return = 2.57e+03 (78.2%)

Position

Cumulative Return

35

内容提要

MATLAB数据处理概要

MATLAB数据处理应用实例

MATLAB优化技术及应用实例

总结

36

MATLAB 数据管理及优化技术工具箱架构

Statistics

Symbolic Math Toolbox Optimization/global

Curve Fitting Toolbox Neural Network Toolbox

MATLAB

Parallel Computing MATLAB Distributed Computing Server

Files

Databases

Images

Access

Reporting

Applications

Production

Share

Data Analysis and Visualization

Modeling and Optimization

Application Development

Explore & Discover

Database

Image Acquisition

Spreadsheet Link EX Builder NE

Builder EX

Builder JA

Compiler

Re

po

rt Ge

ne

rato

r

Pro

du

ctio

n S

erv

er

Wavelet Toolbox Partial Differential

37

MATLAB优化技术tips

广泛的求解器

提供梯度和黑森算法

平滑和非平滑问题的全局求解器

并行计算加速

38

总结

数据处理和数据分析占据了工程师相当多的工作时间,工程师需要更快、更准的数据处理解决方案

采用交互式的、定制化的数据处理解决方案,可以有效降低重复工作的时间

MATLAB数据处理和优化技术可以在产业研发、生产、销售等环节广泛使用

MATLAB优化技术集成了当前顶级的优化算法,能够解决广泛的优化问题

top related