基于线性规划的模糊规划求解示例
问题描述
假设某工厂生产两种产品A和B,生产过程中需要消耗两种原材料(甲和乙)。由于市场波动,原材料的供应量存在模糊性(例如“大约不超过100吨”),目标函数中的单位利润也可能模糊(例如“每件利润约为30元”)。模糊参数用三角模糊数表示:
- 原材料甲的供应量:\(\tilde{b}_1 = (90, 100, 110)\)(分别表示最悲观、最可能、最乐观值)
- 原材料乙的供应量:\(\tilde{b}_2 = (80, 100, 120)\)
- 产品A的单位利润:\(\tilde{c}_1 = (28, 30, 32)\)
- 产品A消耗甲:\(a_{11} = 2\) 吨/件,消耗乙:\(a_{12} = 1\) 吨/件
- 产品B的单位利润:\(\tilde{c}_2 = (38, 40, 42)\)
- 产品B消耗甲:\(a_{21} = 1\) 吨/件,消耗乙:\(a_{22} = 3\) 吨/件
要求最大化总利润,并处理约束条件和目标函数的模糊性。
解题步骤
1. 建立模糊线性规划模型
原始模糊规划问题为:
\[\max \quad \tilde{z} = \tilde{c}_1 x_1 + \tilde{c}_2 x_2 \]
\[\text{s.t.} \quad a_{11}x_1 + a_{21}x_2 \preceq \tilde{b}_1 \]
\[a_{12}x_1 + a_{22}x_2 \preceq \tilde{b}_2 \]
\[x_1, x_2 \geq 0 \]
其中符号 \(\preceq\) 表示“模糊小于等于”,即允许一定程度约束违反。
2. 模糊数的清晰化处理
采用α-截集法将模糊参数转换为区间数。设α为置信水平(\(0 \leq \alpha \leq 1\)),三角模糊数 \(\tilde{m} = (m^p, m^m, m^o)\) 的α-截集为:
\[[m^L(\alpha), m^R(\alpha)] = [m^p + \alpha(m^m - m^p), m^o - \alpha(m^o - m^m)] \]
对每个参数计算:
- \(\tilde{b}_1\):\(b_1^L(\alpha) = 90 + 10\alpha\),\(b_1^R(\alpha) = 110 - 10\alpha\)
- \(\tilde{b}_2\):\(b_2^L(\alpha) = 80 + 20\alpha\),\(b_2^R(\alpha) = 120 - 20\alpha\)
- \(\tilde{c}_1\):\(c_1^L(\alpha) = 28 + 2\alpha\),\(c_1^R(\alpha) = 32 - 2\alpha\)
- \(\tilde{c}_2\):\(c_2^L(\alpha) = 38 + 2\alpha\),\(c_2^R(\alpha) = 42 - 2\alpha\)
3. 转化为清晰线性规划
采用对称模型法(Zimmermann法),引入目标函数的模糊容忍度:
- 先求解乐观情况(约束右端取\(b_i^R(\alpha)\),目标系数取\(c_i^R(\alpha)\))得最大利润\(z_{\text{max}}\)
- 再求解悲观情况(约束右端取\(b_i^L(\alpha)\),目标系数取\(c_i^L(\alpha)\))得最小利润\(z_{\text{min}}\)
- 定义隶属函数:目标函数值\(z\)的满意度为 \(\mu_z(x) = \frac{z(x) - z_{\text{min}}}{z_{\text{max}} - z_{\text{min}}}\)
将模糊约束的满意度定义为:
\[\mu_i(x) = 1 - \frac{\max(0, a_{i1}x_1 + a_{i2}x_2 - b_i^m)}{b_i^R(\alpha) - b_i^m} \]
其中\(b_i^m\)为最可能值(即α=1时的值)。
最终问题转化为最大化整体满意度\(\lambda\),满足:
\[\lambda \leq \mu_z(x), \quad \lambda \leq \mu_i(x) \ (i=1,2), \quad 0 \leq \lambda \leq 1 \]
4. 数值求解(以α=0.5为例)
步骤4.1 计算α=0.5时的参数区间
- \(b_1^L=95, b_1^R=105, b_1^m=100\)
- \(b_2^L=90, b_2^R=110, b_2^m=100\)
- \(c_1^L=29, c_1^R=31, c_1^m=30\)
- \(c_2^L=39, c_2^R=41, c_2^m=40\)
步骤4.2 计算\(z_{\text{min}}\)和\(z_{\text{max}}\)
- 乐观问题(\(c_1=31, c_2=41, b_1=105, b_2=110\)):
\[\max 31x_1 + 41x_2 \]
\[2x_1 + x_2 \leq 105, \quad x_1 + 3x_2 \leq 110 \]
解得:顶点检验得最优解为\(x_1=41, x_2=23\),\(z_{\text{max}}=31×41+41×23=2624\)
- 悲观问题(\(c_1=29, c_2=39, b_1=95, b_2=90\)):
\[\max 29x_1 + 39x_2 \]
\[2x_1 + x_2 \leq 95, \quad x_1 + 3x_2 \leq 90 \]
解得:最优解为\(x_1=39, x_2=17\),\(z_{\text{min}}=29×39+39×17=2184\)
步骤4.3 建立清晰线性规划
目标函数满意度:\(\mu_z(x) = \frac{29x_1+39x_2 - 2184}{2624-2184} = \frac{29x_1+39x_2-2184}{440}\)
约束满意度:
- 甲约束:\(\mu_1(x) = 1 - \frac{\max(0, 2x_1+x_2-100)}{105-100} = 1 - \frac{2x_1+x_2-100}{5}\)
- 乙约束:\(\mu_2(x) = 1 - \frac{\max(0, x_1+3x_2-100)}{110-100} = 1 - \frac{x_1+3x_2-100}{10}\)
模型:
\[\max \lambda \]
\[\lambda \leq \frac{29x_1+39x_2-2184}{440} \]
\[\lambda \leq 1 - \frac{2x_1+x_2-100}{5} \quad (\text{若 } 2x_1+x_2>100) \]
\[\lambda \leq 1 - \frac{x_1+3x_2-100}{10} \quad (\text{若 } x_1+3x_2>100) \]
\[2x_1+x_2 \leq 105, \quad x_1+3x_2 \leq 110, \quad x_1,x_2\geq0, \quad 0\leq\lambda\leq1 \]
步骤4.4 求解
通过线性规划求解器得:
\(x_1=40, x_2=20, \lambda=0.75\),利润\(z=29×40+39×20=1940\)
验证:\(\mu_z=(1940-2184)/440=0.75\),\(\mu_1=1-(2×40+20-100)/5=1-0=1\),\(\mu_2=1-(40+60-100)/10=1-0=1\)
5. 结果解释
在α=0.5的置信水平下,最优生产计划为A产品40件、B产品20件,此时目标满意度为75%,约束完全满足(满意度100%)。通过调整α可得到不同保守程度下的决策方案。