• 南京邮电大学运筹学课程实验报告1 线性规划求解 指导


    一、题目描述

    实验     线性规划求解                 

    实验属性: 验证性     

    实验目的

    1.理解线性规划解的基本概念;

    2.掌握运筹学软件的使用方法;

    3. 掌握线性规划的求解原理和方法。

    实验内容

    认真阅读下题,利用Excel求解产品I、II的决策变量数值,各资源的实际使用量,以及总获利,实验过程参考书本P52.

    产品

    资源

    产品I

    产品II

    资源限额

    实际资源使用

    劳动力

    8

    4

    360

    设备

    4

    5

    200

    原材料A

    3

    10

    250

    原材料B

    4

    6

    200

    单位利润(元)

    80

    100

    \

    \

    产品决策

    \

    \

    总获利

    1.记录实验步骤与结果

    2.对结果作适当分析(与图解对比);

    3.完成实验报告。

    二、实验内容

    步骤1:数据准备

    根据实验内容,将给定的产品资源数据整理成Excel表格,包括劳动力、设备、原材料A、原材料B的单位需求,以及产品I和产品II的单位利润。将产品决策初始化为0,表示该线性规划问题的初始搜索方案,并将实际资源使用和总获利使用公式进行初始化填写。

    Excel初始条件表

    步骤2:加载规划求解项

    通过加载Excel的规划求解加载项,可以方便定义线性规划问题的目标函数和约束条件,从而利用Excel的规划求解功能来解决问题。

    Excel中加载规划求解功能

    步骤3:定义单元格表达式

    总利润单元格(C9)格式为:

    C9= C7*C8+D7*D8

    实际资源使用单元格(F3、F4、F5、F6)格式依次为:

    F3= C3*C8+D3*D8

    F4= C4*C8+D4*D8

    F5= C5*C8+D5*D8

    F6=C 6*C8+D6*D8

    将单元格格式表达式填写完成后,结果如下图

    步骤4:规划求解参数

    完成所有单元格的表达式定义之后,单击“规划求解”菜单,而后完成相关参数的填写即可完成Excel的线性规划操作。

    Excel规划求解参数设置

    步骤5:结果展示

    Excel进行规划求解,将线性规划问题进行计算,并将结果输出到表格中指定的单元格中,结果如图:

    Excel求解结果表

     三、实验结果分析与实验总结:

    可自行结合EXCEL求解与图解法进行比较(可使用MATLAB进行图形描述),说明各特点,并将图解法的步骤总结出来............

    附有相关matlab代码(软件支持为matlab R2020a)

    1. x1 = linspace(0, 100, 100); % 定义x1的取值范围
    2. x2 = linspace(0, 100, 100); % 定义x2的取值范围
    3. [X1, X2] = meshgrid(x1, x2); % 创建网格点
    4. % 定义约束条件
    5. constraint1 = 8*X1 + 4*X2 <= 360;
    6. constraint2 = 4*X1 + 5*X2 <= 200;
    7. constraint3 = 3*X1 + 10*X2 <= 250;
    8. constraint4 = 4*X1 + 6*X2 <= 200;
    9. constraint5 = X1 >= 0;
    10. constraint6 = X2 >= 0;
    11. figure;
    12. hold on;
    13. % 绘制约束条件
    14. plot(x1, (360-8*x1)/4, 'r', 'LineWidth', 2);
    15. plot(x1, (200-4*x1)/5, 'g', 'LineWidth', 2);
    16. plot(x1, (250-3*x1)/10, 'b', 'LineWidth', 2);
    17. plot(x1, (200-4*x1)/6, 'm', 'LineWidth', 2);
    18. % 绘制坐标轴和标签
    19. axis([0 100 0 100]);
    20. xlabel('x1');
    21. ylabel('x2');
    22. title('运筹学实验1图解法');
    23. % 添加图例
    24. legend('8x1 + 4x2 <= 360', '4x1 + 5x2 <= 200', '3x1 + 10x2 <= 250', '4x1 + 6x2 <= 200');
    25. hold off;
    26. figure;
    27. hold on;
    28. % 绘制约束条件
    29. plot(x1, (360-8*x1)/4, 'r', 'LineWidth', 2);
    30. plot(x1, (200-4*x1)/5, 'g', 'LineWidth', 2);
    31. plot(x1, (250-3*x1)/10, 'b', 'LineWidth', 2);
    32. plot(x1, (200-4*x1)/6, 'm', 'LineWidth', 2);
    33. % 填充可行域
    34. fill([0, 0, 100, 100], [0, 100, 100, 0], 'y', 'FaceAlpha', 0.3);
    35. % 绘制坐标轴和标签
    36. axis([0 100 0 100]);
    37. xlabel('x1');
    38. ylabel('x2');
    39. title('运筹学实验1图解法');
    40. % 添加图例
    41. legend('8x1 + 4x2 <= 360', '4x1 + 5x2 <= 200', '3x1 + 10x2 <= 250', '4x1 + 6x2 <= 200');
    42. hold off;

     使用MATLAB进行画图指令可得:

  • 相关阅读:
    论文笔记:LBCF: A Large-Scale Budget-Constrained Causal Forest Algorithm
    中英文说明书丨CalBioreagents艾美捷兔单克隆抗小鼠/人Id4抗体
    【webrtc】PC : BaseChannel 及子类VideoChannel 和 VoiceChannel :关联source、sink,关联MediaEngine子类,实现RTP包收发
    Flutter学习5-集成-打包-发布
    自动化测试selenium基础篇——webdriverAPI
    C# Onnx Yolov8 Detect 手势识别
    Spring实现CAS登录
    基于JAVA评标专家管理信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    【kubernetes的三种网络】
    【微服务】Nacos集群搭建以及加载文件配置
  • 原文地址:https://blog.csdn.net/qq_75185846/article/details/140327327