Matlab二阶段单纯形法_两阶段单纯形法matlab-程序员宅基地

Matlab二阶段单纯形法

  1. dcxsf.m
  2. secP.m
  3. .m(test)

dcxsf.m

% 第一阶段函数

function [X,zR] = dcxsf(A,b,cOut,outMin,cSec,secMin)
format rat  %数据以分数形式输出

%如果是求min,需要化为max = -min,此处是把系数求负,
%后续还有一步是,求出zR后,再给他求负

if outMin == 1   
    cOut = -cOut;
end
% my ny 分别为目标函数系数矩阵的行和列,此题my = 1, mn = 6;
[my ny]=size(cOut);

Ay = [];  % 存储人工变量所在列的索引,即人工变量在第几列
AyR = []; % 存储非人工变量所在列的索引
yIndex = 0;
yRIndex = 0;

%分别找出人工变量和非人工变量,然后分别存入Ay 和 AyR里
for j = 1:ny
    if cOut(j)~=0
        yIndex = yIndex + 1;
        Ay(yIndex) = j;
    else
        yRIndex = yRIndex + 1;
        AyR(yRIndex) = j;
    end
end

% my ny 分别为约束系数矩阵的行和列,此题mOutSize = 3, nOutSize = 6;
[mOutSize,nOutSize]=size(A);

% AmOut 存储基变量的索引,比如基变量之一为x3,则把3存入AmOut,用于记录那些变量是基变量
% Am1Out  存储非基变量的索引,比如非基变量之一为x4,则把4存入Am1Out,用于记录那些变量是非基变量
AmOut = zeros(mOutSize,1);
Am1Out = zeros(1,nOutSize - mOutSize);

%       x1 x2 x3 x4 x5 x6
%        1 2  1  1  0  0
%        1 2  3  0  1  0
%        2 1  5  0  0  1
%   其中x4 x5 x6 为基变量,把基变量对应索引(第几列)存入AmOut,非基变量索引存入Am1Out
%   接下来这个for就是做这个工作的

iAm1Out = 0;
%   依次遍历每列
for jj = 1:nOutSize  %jj 列数
    flag1 = 0;
    
    %   对这一列遍历行,检测是否有1,
    for ii = 1:mOutSize  %  ii 行数
        if A(ii,jj)==1 
          flag1 = ii;
  
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011956307/article/details/54922554

智能推荐

Python 实现京东自动登录领京豆_京东自动领京豆脚本-程序员宅基地

文章浏览阅读2.2w次,点赞4次,收藏54次。今天带大家进行模拟京东登录,并进行签到获取京豆,1000 个京豆 = 10 元,是不是一个发现了一个「发家致富」的好路子?废话不多说,下面开始正题。整体流程如下:京东自动签到流程1 模拟登录首先我们需要的就是模拟京东登录,只有登录了才能进行签到领京豆等操作。模拟登录其实就是通过 HTTP 的 POST 请求讲用户的登录信息发送给服务器进行认证的过程。1.1 登录数据分析登录过程表面上看着挺简单,我..._京东自动领京豆脚本

Google App Crash 参考解决方案,2024年最新拼多多面试java-程序员宅基地

文章浏览阅读565次,点赞17次,收藏20次。}--------- beginning of crash01-01 12:00:00.918 1583 1583 E AndroidRuntime: FATAL EXCEPTION: main01-01 12:00:00.918 1583 1583 E AndroidRuntime: Process: com.google.android.setupwizard, PID: 158301-01 12:00:00.918 1583 1583 E AndroidRuntime: java.lan

第一章:认识Java语言-程序员宅基地

文章浏览阅读916次,点赞16次,收藏19次。Java是一种简单、面向对象、分布式、稳健性、安全性、平台独立与可移植性、多线程、动态性的计算机编程语言。除了java还有很多编程语言:C语言、C++、C#、python等。不同的计算机编程语言语法不同;应用场景不同;Java是一种后端开发编程语言。开发流程:应用程序-》1、市场调研:用户的需求2、需求文档3、需求评审4、UI设计(提高用户体验)5、前端开发(利用前端技术实现网页,网页以浏览器直接打开\部署到浏览器,静态页面:数据不变)

Flutter浪潮下的音视频研发探索(1),android插件化-程序员宅基地

文章浏览阅读848次,点赞13次,收藏17次。UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

iOS/Xcode异常:no visible @interface for XXX declares the selector YYY_no visible @interface for 'sampleclass' declares t-程序员宅基地

文章浏览阅读1.2w次。在iOS/Xcode开发过程中,出现如下异常信息:no visible @interface for XXX declares the selector YYY分析原因:There are lots of reasons it could happen, but generally it’s saying that at the line of code it flags, it do_no visible @interface for 'sampleclass' declares the selector 'getaverage:of

毕业设计:基于深度学习的野生动物种类识别系统 目标检测 人工智能_基于深度学习的动物目标检测及分类系统设计与实现-程序员宅基地

文章浏览阅读1.5k次,点赞54次,收藏21次。毕业设计:基于深度学习的野生动物种类识别系统融合了深度学习和计算机视觉技术,旨在解决野生动物种类识别的难题。将介绍系统的设计原理和关键技术,探讨其在野生动物保护和生态研究领域的应用前景。为计算机、软件工程、人工智能和大数据等专业的毕业生提供了一个有意义的研究课题。无论您对深度学习技术保持浓厚兴趣,还是希望探索机器学习、算法或人工智能领域的同学,本文将为您提供灵感和指导,引领您进入这个具有挑战性和创新性的研究领域。_基于深度学习的动物目标检测及分类系统设计与实现

随便推点

VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏18次。文章目录写在前面摘要1.引言2.相关工作3.系统概述4.视觉前端5.双目视觉惯性里程计A. IMU预积分因子B. 非结构化视觉因子C. 优化和边缘化6. 激光建图A. LiDAR扫描去畸变B. 帧到地图配准7. LiDAR增强的闭环A. 回环检测B. 回环约束C. 全局位姿图优化D. 重定位8. 实验结果A.平台和软件B.测试和结果C. EuRoCMAV数据集测试9.结论写在前面写作参考: robot L开源代码: 开源代码链接论文原文: 原文链接摘要SLAM是移动和空中机器人的一项基本任务_vil-slam

linux shell find命令 查找多种文件后缀_shell 同时查找两种结尾的配置文件-程序员宅基地

文章浏览阅读2.4w次,点赞14次,收藏46次。find命令最常用的是查找某个文件,如:find ./ -name "abc.txt"则会在当前目录及子目录下查找abc.txt文件更常用的是查找某一类型的文件,如:find ./ -name "*.txt"则会在当前目录及子目录下查找所有txt文件,但是如果要查找多种文件类型呢?比如某文件夹下面所有.c文件和.h文件,可以这样做:find ./ -name "*.[..._shell 同时查找两种结尾的配置文件

Rocky Linux安装部署Elasticsearch(ELK日志服务器)_rockylinux elk(1)-程序员宅基地

文章浏览阅读268次。(img-QrJpO645-1712860091908)]8、设置elasticsearch.service开机自动启动。10、查看elasticsearch.service运行状态。9、启动elasticsearch.service服务。7、使用yum安装elasticsearch。3、点击Downloads链接。5、查看yum安装方式。遇到一点意外,研究下先。4、点击左下角yum。

String中的intern()方法_string 的intern方法-程序员宅基地

文章浏览阅读349次。String中的intern方法的实现原理(jdk8中):以下面代码为例public class InternTest{ String s1 = new String("a") + new String("b"); s1.intern(); String s2 = "ab"; System.out.println(s1 == s2);//true }(1)String s1 = new String(“a”) + new String(“b”);①创建StringBuilder对_string 的intern方法

VS.NET 学习方法论[转]_net 6 webrequest.create(sourceuri) 替代函数-程序员宅基地

文章浏览阅读1.7k次。 ——我的VS.NET学习之旅                                        屠恩海(SunHai)   开发工具:Micr_net 6 webrequest.create(sourceuri) 替代函数