单纯性学习笔记

单纯形

web1web2web3web4web5

做题可以用画图分析图像来确定可行域来找最值。

写到程序里面,嘿嘿,你可以试试。

最大化

\(\sum\limits_{j=1}^{n} c_j*x_j\)

满足约束

\(\sum\limits_{j=1}^{n} c_{i,j}*x_j <= b_i i=1,2……m\)

\(x_i >= 0 i=1,2……m\)

变一下

最大化

\(\sum\limits_{j=1}^{n} c_j*x_j\)

满足约束

$ x_{i+n} = b_i - \sum\limits_{j=1}^{n} c_{i,j}*x_j i=1,2……m $

\(x_i >= 0 i=1,2……n+m\)

每次找 \(c_j\) 是正数的项给找出来。

用其他约束条件(约束最紧的)替换掉,叫做转轴。

直到每个 \(c_j\) 都是负数

最后的答案就是那个最大化式子的常数项。

如果初始值的 \(b < 0\) 那么还需要一些操作,具体参见web1

线性规划的约束画在坐标系里就是一个凸多面体,

可行解就是这个凸多面体的内点,

将目标函数(超平面)往多面体上靠,

第一个切点就是一个最优解,

因此多面体的顶点中一定会出现最优解。

每次从单纯形上的一个顶点走到一个更好的顶点直到找到最小(大)值。

大概就是这个意思吧

复杂度 \(O(一两百)\)

结合着uoj上的注释还是挺明白的

不过uoj代码我感觉随随便便就能过98,感觉不靠谱

全部评论

相关推荐

头像
11-18 16:08
福州大学 Java
影流之主:干10年不被裁,我就能拿别人一年的钱了,日子有盼头了
点赞 评论 收藏
分享
11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务