算法导论随笔(十五):线性规划与单纯形算法(上篇:基本概念)

本文介绍了线性规划的基本概念,包括标准型、松弛型及其转化,探讨了基本解和基本可行解,并简述了单纯形算法在求解线性规划中的作用,为后续深入讲解打下基础。
摘要由CSDN通过智能技术生成

线性规划(Linear Programming)问题指的是在给定有限资源的前提下最大化或最小化某个目标的问题。这里我将分上下两篇来谈谈线性规划和单纯形算法。

前言

线性规划问题有很多例子,比如在算法导论随笔(六):贪心算法Greedy algorithm与分数背包问题中,我曾经提到过一个分数背包问题。当时是使用贪心策略来解决。其实,这个问题也可以使用线性规划来解决。

先来回顾一下分数背包问题:如下图,图中有5瓶液体,分别标号为1,2,3,4,5。编号为1的液体有4毫升,每毫升价值3美元。所以该液体的总价值为12美元。类似地,编号2,3,4和5的液体,分别有8毫升,2毫升,6毫升和1毫升,而每毫升的价值分别为4,20,5,50美元,它们的总价值分别为32,40,30,50美元。
在这里插入图片描述
现在我们有一个10毫升的杯子,想从5个瓶子里取出共10毫升的液体,使得该10毫升液体的总价值最高。回顾本篇文章最开始时候对线性规划问题的描述:在给定有限资源的前提下,最大化或最小化某个目标的问题。
这里我们可以看出来,对于分数背包问题,“给定有限资源的前提”就是:我们只能从每瓶液体中取出大于0而且小于该液体容积的液体,并且最后的总容积为10毫升。“最大化某个目标”也就是指我们要使得该10毫升的液体总价值最高。假定我们把这5个瓶子中所拿出的液体体积分别设置为x1,x2,x3,x4和x5,那么如果我们把这些前提和目标用数学的方式写下来,就是下面的这种形式。
最大化
x 1 × 3 + x 2 × 4 + x 3 × 20 + x 4 × 5 + x 5 × 50 x_1 \times 3 + x_2 \times 4 + x_3 \times 20 + x_4 \times 5 + x_5 \times 50 x1×3+x2×4+x3×20+x4×5+x5×50
,其中x1,x2,x3,x4和x5满足下列条件
x 1 ≥ 0 x 1 ≤ 4 x 2 ≥ 0 x 2 ≤ 8 x 3 ≥ 0 x 3 ≤ 2 x 4 ≥ 0 x 4 ≤ 6 x 5 ≥ 0 x 5 ≤ 1 x 1 + x 2 + x 3 + x 4 + x 5 = 10 x_1 \ge 0 \newline x_1 \le 4 \newline x_2 \ge 0 \newline x_2 \le 8 \newline x_3 \ge 0 \newline x_3 \le 2 \newline x_4 \ge 0 \newline x_4 \le 6 \newline x_5 \ge 0 \newline x_5 \le 1 \newline x_1 + x_2 + x_3 + x_4 + x_5 = 10 x10x14x20x28x3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值