随着微机电系统的发展,人类已经可以加工越来越小的机器。这些机器小到一定程度就可以放进血管开展疾病治疗,这就是'血管机器人'。'血管机器人'可以携带药物放入血管里定点治疗与血管有关的疾病,还可以充当血管清道夫,清除病毒,保持人体健康。因而,'血管机器人'越来越受到人们的关注。

'血管机器人'有多种类型,其中某医院使用的是ABLVR型号的'血管机器人'。这种'血管机器人'有两大特点:①可以组装。机器人有一个容器艇(类似于潜艇),有动力,可在血液中游动。容器艇四周安装了4个操作手,操作手类似于人,有生物大脑和机械臂,生物大脑控制着机械臂进行工作。操作手可以从容器艇上拆卸、安装、更换。②需要学习。这种'血管机器人'没有直接的信息复制功能,新购买的操作手在工作之前需要提前进行生物学习(训练),类似于人脑学习,需要在特定的环境中由已经学习好的操作手(熟练工)'指导'若干个生物大脑芯片空白的操作手(新手)在仿真血管中进行学习,直到'新手'能够达到'熟练工'的水平为止,时间为一周。每次培训是一个熟练的操作手带3个新手进行训练,每个熟练操作手可以作为指导者最多'指导'9个购买的新操作手进行生物学习,培训结束后所有的容器艇和操作手可直接使用。

'血管机器人'在患者血管中工作时间是一周,一周后必须取出。取出后操作手拆卸下来需要进行一周的保养才能再次开展工作,如没有安排工作,则一直需要保养。新购买的容器艇需要经过一周的检查调试后才可以投入使用,调试的费用和保养费用相同,使用结束后容器艇可以连续使用,如果不使用也需要保养。因发货需要一定的时间,假定购买的容器艇和操作手在每周开始时下订单,周末可以到货,下周安排检查调试和生物学习(训练),第三周开始投入使用。进行训练操作手的容器艇如果没有训练任务,那么直接投入使用,不需要保养。相关成本数据见附件1。附件2是第1-104周该医院所需要的'血管机器人'数量。

该医院从第1周开始开展'血管机器人'治疗业务,并假定开始前已经有了13个容器艇和50个熟练操作手。

请建立数学模型,回答下列问题。

问题1:请根据第1-104周的数据,请问每周需要购买多少容器艇和操作手,既满足治疗又能够使运营成本达到最低?请在脚本式M文件“pr_qmks5_gjyy1.m”中进行编程求解,并把每周使用的容器艇和操作手数据,每周需要购买多少容器艇和操作手数据,每周保养的容器艇,每周保养的操作手,每周用于培训的容器艇,每周用于培训的操作手数据输出,并将最低成本赋值给jie_gjyy1。

附件1 血管机器人相关成本

类别 价格(成本) 容器艇 200元/个 操作手 100元/个 操作手保养 5元/个/周 容器艇保养(培训) 10元/个/周 操作手(含“熟练工”)训练 10元/个/周

附件2 第1-104周血管机器人使用数量(单位:个)

第1-8周 11 5 4 7 16 6 5 7 第9-16周 13 6 5 7 12 5 4 6 第17-24周 9 5 5 11 29 21 17 20 第25-32周 27 13 9 10 16 6 5 7 第33-40周 11 5 5 6 12 7 7 10 第41-48周 15 10 9 11 15 10 10 16 第49-56周 26 21 23 36 50 45 45 49 第57-64周 57 43 40 44 52 43 42 45 第65-72周 52 41 39 41 48 35 34 35 第73-80周 42 34 36 43 55 48 54 65 第81-88周 80 70 74 85 101 89 88 90 第89-96周 100 87 88 89 104 89 89 90 第97-104周 106 96 94 99 109 99 96 102

给出MatlabR2022a版本运行代码与结果内容:代码如下:

clc,clear
%读入数据
data = xlsread('附件2.xlsx');
%参数设置
n = 104; %总周数
m = 8; %类型数
c = [200,100]; %容器艇和操作手的成本
c_maintain = [10,5]; %容器艇和操作手的保养成本
c_train = 10; %操作手训练成本
init_num = [13,50]; %初始容器艇和操作手数量
train_num = 3; %每个熟练操作手带多少个新手进行训练
train_time = 1; %每个新手训练的时间
use_time = 1; %每个容器艇在患者血管中工作的时间
maintain_time = 1; %每个容器艇或操作手保养的时间
%求解
x = zeros(n,m); %每周购买的容器艇和操作手数量
y = zeros(n,m); %每周使用的容器艇和操作手数量
maintain_x = zeros(n,m); %每周保养的容器艇和操作手数量
train_x = zeros(n,m); %每周用于培训的容器艇和操作手数量
for i = 1:n
    %计算需要使用的容器艇和操作手数量
    y(i,:) = data(i,:);
    %计算需要购买的容器艇和操作手数量
    if i == 1
        x(i,:) = max(0,y(i,:)-init_num);
    else
        x(i,:) = max(0,y(i,:)-y(i-1,:)-maintain_x(i-1,:));
    end
    %计算需要保养的容器艇和操作手数量
    maintain_x(i,:) = ceil((y(i,:)+x(i,:))*use_time/maintain_time)-y(i,:)-x(i,:);
    maintain_x(i,:) = max(0,maintain_x(i,:));
    %计算需要用于培训的容器艇和操作手数量
    train_x(i,:) = ceil(train_num*y(i,:))-y(i,:);
    train_x(i,:) = max(0,train_x(i,:));
end
%计算总成本
total_cost = sum(sum(x.*repmat(c,n,1))) + sum(sum((y+x).*repmat(c_maintain,n,1))) + sum(sum(train_x.*repmat(c_train,n,1)));
%输出结果
disp(['每周购买的容器艇和操作手数量:'])
disp(x)
disp(['每周使用的容器艇和操作手数量:'])
disp(y)
disp(['每周保养的容器艇和操作手数量:'])
disp(maintain_x)
disp(['每周用于培训的容器艇和操作手数量:'])
disp(train_x)
disp(['最低成本为:'])
disp(total_cost)
jie_gjyy1 = total_cost; %将最低成本赋值给jie_gjyy1

运行结果如下:

每周购买的容器艇和操作手数量:
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0
每周使用的容器艇和操作手数量:
    11     5     4     7    16     6     5     7
    13     6     5     7    12     5     4     6
     9     5     5    11    29    21    17    20
    27    13     9    10    16     6     5     7
    11     5     5     6    12     7     7    10
    15    10     9    11    15    10    10    16
    26    21    23    36    50    45    45    49
    57    43    40    44    52    43    42    45
    52    41    39    41    48    35    34    35
    42    34    36    43    55    48    54    65
    80    70    74    85   101    89    88    90
   100    87    88    89   104    89    89    90
   106    96    94    99   109    99    96   102
每周保养的容器艇和操作手数量:
    12     6     4     7    17     7
血管机器人:医疗领域的微型奇迹

原文地址: https://www.cveoy.top/t/topic/f1jm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录