数学建模方法之目标规划
果然,不出意料,规划它又回来了…
前言
多目标决策问题是管理与日常生活中经常遇到的问题,而这些目标之间常常是相互作用和矛盾的,如何平衡这些目标,其决策过程十分复杂,决策者通常很难做出最终决策。解决这类问题的建模方法就是多目标决策方法。事实上,早在1772年,富兰克林(Franklin)就提出了多目标矛盾问题如何协调的问题。1838年,古诺(Cournot)从经济学角度提出了多目标问题的模型。1869年,帕累托(Pareto)首次从数学角度提出了多目标最优决策问题。
在一些多目标决策问题中,决策者不仅要考虑多个目标,而且这些目标以“软约束”的形式出现且有优先顺序,这时可以建立目标规划模型。
一、多目标规划
1. 多目标规划问题的理论基础
多目标规划是多目标决策的重要内容之一,在进行多目标决策时,当希望每个目标都尽可能的大(或尽可能的小)时,就形成了一个多目标规划问题,其一般形式为:
min
f
(
x
)
=
[
f
1
(
x
)
,
f
2
(
x
)
,
⋯
,
f
m
(
x
)
]
T
,
(
16.1
)
\min\mathbf{f}(\mathbf{x})=\left[f_1(\mathbf{x}),f_2(\mathbf{x}),\cdots,f_m(\mathbf{x})\right]^T,(16.1)
minf(x)=[f1(x),f2(x),⋯,fm(x)]T,(16.1)
s
.
t
.
{
g
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋯
,
p
h
j
(
x
)
=
0
,
j
=
1
,
2
,
⋯
,
q
,
(
16.2
)
s.t.\begin{cases} &g_i(x)≤0, i=1,2,⋯,p\\ &h_j(x)=0, j=1,2,⋯,q, \\ \end{cases} (16.2)
s.t.{gi(x)≤0, i=1,2,⋯,phj(x)=0, j=1,2,⋯,q,(16.2)
其中
x
x
x为决策向量,
f
1
(
x
)
,
f
2
(
x
)
,
⋯
,
f
m
(
x
)
为
目
标
函
数
,
(
16.2
)
f_1(\mathbf{x}), f_2(\mathbf{x}),\cdots,f_m(\mathbf{x})为目标函数,(16.2)
f1(x),f2(x),⋯,fm(x)为目标函数,(16.2)式为约束条件。记
Ω
=
{
x
∣
g
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋯
,
p
;
h
j
(
x
)
=
0
,
j
=
1
,
2
,
⋯
,
q
}
,
\Omega=\left\{\left.\mathbf{x}\right|g_i(\mathbf{x})\le0, i=1,2,\cdots,p; h_j(\mathbf{x})=0, j=1,2,\cdots,q\right\},
Ω={x∣gi(x)≤0,i=1,2,⋯,p;hj(x)=0,j=1,2,⋯,q},
称
Ω
\Omega
Ω为多目标规划的可行域(决策空间),
f
(
Ω
)
=
{
f
(
x
)
∣
x
∈
Ω
}
\mathbf{f}(\Omega)=\left\{\left.f(\mathbf{x})\right|x\in\Omega\right\}
f(Ω)={f(x)∣x∈Ω}为多目标规划问题的像集(目标空间)。式(16.1)和(16.2)确定的多目标规划问题以下简称问题(MP)。
二、目标规划
1.引入库
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。