单纯形&&线性规划
沦为了背板子...wyfcyx的ppt
#include<bits/stdc++.h>
using namespace std;
const int N = ;
const double eps = 1e-, inf = 1e18;
int n, m, l, e, t;
double k;
double a[N][N], ans[N];
int id[N << ];
void pivot(int l, int e)
{
swap(id[n + l], id[e]);
double r = a[l][e]; a[l][e] = ;
for(int i = ; i <= n; ++i) a[l][i] /= r;
for(int i = ; i <= m; ++i) if(i != l)
{
double r = a[i][e]; a[i][e] = ;
for(int j = ; j <= n; ++j) a[i][j] -= r * a[l][j];
}
}
int main()
{
scanf("%d%d%d", &n, &m, &t);
for(int i = ; i <= n; ++i) scanf("%lf", &a[][i]), id[i] = i;
for(int i = ; i <= m; ++i)
{
for(int j = ; j <= n; ++j) scanf("%lf", &a[i][j]);
scanf("%lf", &a[i][]);
}
while(true)
{
l = e = ; k = -eps;
for(int i = ; i <= m; ++i) if(a[i][] < k) { l = i; k = a[i][]; }
if(!l) break;
for(int i = n; i; --i) if(a[l][i] < -eps)
{ e = i; break; }
if(!e) { puts("Infeasible"); return ; }
pivot(l, e);
}
while(true)
{
l = e = ;
for(int i = ; i <= n; ++i) if(a[][i] > eps)
{ e = i; break; }
if(!e) break;
k = inf;
for(int i = ; i <= m; ++i) if(a[i][e] > eps && a[i][] / a[i][e] < k)
{ k = a[i][] / a[i][e]; l = i; }
if(!l) { puts("Unbounded"); return ; }
pivot(l, e);
}
printf("%.10f\n", -a[][]);
if(!t) return ;
for(int i = ; i <= m; ++i) ans[id[i + n]] = a[i][];
for(int i = ; i <= n; ++i) printf("%.10f ", ans[i]);
return ;
}
单纯形&&线性规划的更多相关文章
- 软件推荐-国内参数优化软件:1stOpt - First Optimizationg
首页:http://www.7d-soft.com/index.htm 4.0新功能 (预定2010年8月6日): 1:支持复数拟合.复数方程组计算: 2:支持微分方程拟合求解: 3:通用全局优化求解 ...
- BZOJ.1061.[NOI2008]志愿者招募(线性规划 对偶原理 单纯形 / 费用流SPFA)
题目链接 线性规划 用\(A_{ij}=0/1\)表示第\(i\)天\(j\)类志愿者能否被招募,\(x_i\)为\(i\)类志愿者招募了多少人,\(need_i\)表示第\(i\)天需要多少人,\( ...
- 【UOJ #179】线性规划 单纯形模板
http://uoj.ac/problem/179 终于写出来了单纯性算法的板子,抄的网上大爷的qwq 辅助线性规划找非基变量时要加个随机化才能A,我也不知道为什么,卡精度吗? 2017-3-6UPD ...
- LP线性规划求解 之 单纯形 算法
LP线性规划求解 之 单纯形 算法 认识-单纯形 核心: 顶点旋转 随机找到一个初始的基本可行解 不断沿着可行域旋转(pivot) 重复2,直到结果不能改进为止 案例-过程 以上篇的case2的松弛型 ...
- 线性规划(Simplex单纯形)与对偶问题
线性规划 首先一般所有的线性规划问题我们都可以转换成如下标准型: 但是我们可以发现上面都是不等式,而我们计算中更希望是等式,所以我们引入这个新的概念:松弛型: 很显然我们最后要求是所有的约束左边的变量 ...
- 线性规划之单纯形算法矩阵描述与python实现
声明 本文为本人原创,转载请注明出处.本文仅发表在博客园,作者LightningStar. 问题描述 所有的线性规划问题都可以归约到标准型的问题,规约过程比较简单且已经超出本文范围,不再描述,可以参考 ...
- UVA 10498 Happiness(线性规划-单纯形)
Description Prof. Kaykobad has given Nasa the duty of buying some food for the ACM contestents. Nasa ...
- 单纯形求解线性规划(BZOJ1061)
推荐一篇论文:http://wenku.baidu.com/view/ce5784754a7302768f99391d 我们设xi为第i个志愿者的招募次数,以样例为例,则不难列出如下的线性规划方程: ...
- 【UOJ#179】线性规划 单纯形
题目链接: http://uoj.ac/problem/179 Solution 就是单纯形模板题,这篇博客就是存一下板子. Code #include<iostream> #includ ...
随机推荐
- 00JavaScript
JavaScript JavaScript是由网景公司开发的一种跨平台面向对象(object-oriented)的网页脚本语言(Web Script Language)是目前流行的网页特效设计语言Ja ...
- scala学习(1)----map和flatMap的区别
转载:https://www.cnblogs.com/wbh1000/p/9846401.html 两者的区别主要在于action后得到的值 例子: import org.apache.spark.{ ...
- php第二十二节课
AJAX <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- 子集和问题 - 回溯&搜索
题目地址:http://www.51cpc.com/web/problem.php?id=4264 其实一看到这道题我就想到了01背包,但是卡死在了如何顺序输出: 个人人为回溯本身就会用到搜索,像是充 ...
- 登录deepin 15.9后不显示任务栏,无法操作
一直觉得在Linux下编程很酷,所以决定装个Deepin试试,安装很顺利,然后搭建了开发环境,写了一个简单程序,觉得挺不错的. 哪知第二天一开机,登录后找不到任务栏了,做不了啥操作,走接傻眼了,直觉以 ...
- python黑科技库:FuckIt.py,让你代码从此远离bug
今天给你推荐的这个库叫 “FuckIt.py”,名字一看就是很黄很暴力的那种,作者是这样介绍它的: FuckIt.py uses state-of-the-art technology to make ...
- 利用python去调用shell命令时候的踩到的坑
shell中 True的返回值是0 False的返回值是1 Python中 True的返回值是1 False的返回值是0
- 九九乘法表-Java
public class Test1 { public static void main(String[] args){ for(int i=1;i<=9;i++){ for(int j=1;j ...
- redis 指定端口 启动
由于资源紧张 需要多创建一个redis实例 重新copy一份实例,然后修改redis.conf文件, 找到port 6379 处修改 端口号 6380 通过下面命令启动就好了 src/redis-se ...
- Neo4j ETL工具快速上手:简化从关系数据库到图数据库的数据迁移
注:本文系从https://medium.com/neo4j/tap-into-hidden-connections-translating-your-relational-data-to-graph ...