当前位置: 首页 > news >正文

C# 随机法求解线性规划问题 蒙特卡洛

线性规划问题:
max=3x1+2x2
x1+2x2<=5
2
x1+x2<=4
4x1+3x2<=9
x1>=0
x2>=0
正确的结果:x1=1.5; x2=1, max z=6.5

            Random random1  = new Random(DateTime.Now.Millisecond);Random random2 = new Random(DateTime.Now.Millisecond*DateTime.Now.Millisecond);double max=-9999,x1=0,x2=0,resultX1=0,resultX2=0;for (int i = 0; i < 654321; i++){if (random1.Next(0, 100) % 2 == 0){x1 = resultX1 + random1.NextDouble();}else{x1 = resultX1 - random1.NextDouble();}if (random2.Next(0, 100) % 2 == 0){x2 = resultX2 + random2.NextDouble();}else{x2 = resultX2 - random2.NextDouble();}if (x1 + 2 * x2 <= 5 && 2 * x1 + x2 <= 4 && 4 * x1 + 3 * x2 <= 9){if (3 * x1 + 2 * x2>max){resultX1 = x1;resultX2 = x2;max = 3 * x1 + 2 * x2;}}}textBox1.Text = resultX1.ToString();textBox2.Text = resultX2.ToString();textBox3.Text = max.ToString();

在这里插入图片描述

http://www.lryc.cn/news/121331.html

相关文章:

  • nginx文档合集
  • 什么是BFC?它有什么作用?如何创建BFC?
  • svn文章四:版本控制策略 - 穿越时光机:SVN版本控制进阶技巧
  • SpringBoot+Mybatis-Plus实现增删改查超详细步骤
  • Qt应用开发(基础篇)——拆分器窗口 QSplitter QSplitterHandle
  • 屏幕尺寸单位 px、em、rem区别
  • yo!这里是STL::list类简单模拟实现
  • 小程序商城开发制作
  • 并发编程面试题2
  • 关于eclipse导入部署具有增删改查的项目
  • c++日志工具之——log4cpp
  • ES索引重建reindex详解
  • 前沿分享-中距离射频取电
  • UnrealEngine - 网络同步之连接篇
  • 【JDBC系列】- 扩展提升学习
  • 阻塞和非阻塞,同步和异步
  • 提速Rust编译器!
  • QT创建项目
  • 基于vue3+webpack5+qiankun实现微前端
  • 华为OD真题--完美走位--带答案
  • 【AI】《动手学-深度学习-PyTorch版》笔记(十四):多层感知机
  • 本地开发 npm 好用的http server、好用的web server、静态服务器
  • Gradio入门,并搭个鸡兔同笼问题小应用,附源码(MindOpt)
  • redis核心知识点简略笔记
  • 消息中间件 —— 初识Kafka
  • Ceph集群安装部署
  • PXC基于docker搭建mysql集群全过程
  • 项目知识点记录
  • 【HDFS】ListenableFuture在HDFS中的应用
  • Databend 开源周报第 105 期