问题我有几个工作要在P秒内安排在无限数量的工作机器上具有相关性的机器,即.对于每个工作,都有一组作业,只有在完成这项工作后才能安排.用于调度第i利润个 j中工作个第二任何机器上为f(I,J),它是正的.
我的目标是通过在最多P秒内完成一次调度每个作业来最大化总利润.
我们可以假设所有作业都可以在P秒内安排.
一切都是提前知道的,即离线问题.
0 <= f(i,j)<= B.对于所有我,j.
并且依赖数是O(n).
这个问题容易吗?[可能是由于有限的约束]
我的方法
为简单起见,首先假设对于一份工作来说,它的利润与时间无关.
即f(i,j)对于所有i而言与j无关,并且仅依赖于i.
然后任何适合P秒的拓扑排序都可以.
如果没有依赖关系,那么我们也为每个工作选择最高的利润给予时间,这也很容易.
但问题是,当工作的利润随着时间的推移随着依赖性而变化时,在这种情况下,我无法想到任何通用算法.
我在处理作业之间的依赖关系时遇到问题,在线调度算法的依赖单元任务是否有任何资源?
请分享任何有助于...的想法
更新:我已添加各种参数的边界,因为它们可能是分析问题所必需的.
我想为以下 e2e 场景添加一个测试:
我的应用程序通过内部代理服务器向外部服务发出 Web 请求,代理服务器操作请求正文,将请求转发到目标主机并返回返回的响应。
举例来说,我对external.service/an/endpoint(通过my-proxy-server)正文做了一个发布请求
{
"card_number": "<proxy server pls fill the cc details>"
}
Run Code Online (Sandbox Code Playgroud)
代理服务器修改请求填写cc详细信息并转发给external.service/an/endpointwith body
{
"card_number": "372735466563005"
}
Run Code Online (Sandbox Code Playgroud)
external.service 返回状态 OK。代理服务器不加修改地返回响应。
如何使用wiremock 测试此工作流程?我可以WireMock.stubFor()为external.service,但我不知道如何使有线模拟代理与我的 Web 客户端的代理设置一起工作。查看测试,实际上,Rest Template 测试restTemplateWithWireMockAsProxyServer按预期工作,通过代理路由我的请求,但webClientWithWireMockAsProxyServer我的 RCA 出现错误:
20:06:59.165 [qtp105751207-24] DEBUG wiremock.org.eclipse.jetty.server.HttpChannel - REQUEST for //localhost:58978localhost:58978 on HttpChannelOverHttp@4a71ab50{r=1,c=false,c=false/false,a=IDLE,uri=//localhost:58978localhost:58978,age=0}
CONNECT //localhost:58978localhost:58978 HTTP/1.1
Host: localhost:58978
Run Code Online (Sandbox Code Playgroud)
正如这里提到的,这些通过 wiremock 代理的调用是不可能的。但是我所有的网址都像http://localhost:<port>,这意味着我没有进行任何 https 调用。
package com.spotnana.obt.supplier.services;
import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.client.WireMock;
import com.github.tomakehurst.wiremock.core.WireMockConfiguration; …Run Code Online (Sandbox Code Playgroud) 我正在使用C++中的协议缓冲区.我的邮件只有一个扩展名范围.我想只使用他们的号码访问所有扩展字段而不知道他们的名字.我怎样才能做到这一点??
message Base {
optional int32 id = 1;
extensions 1000 to 1999;
}
extend Base{
optional int32 id2 = 1000;
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经获得了ExtensionRange.
const google::protobuf::Descriptor::ExtensionRange* rng = desc->extension_range(0);
std::cerr << "rng " << rng->start << " " << rng->end << std::endl;
Run Code Online (Sandbox Code Playgroud)
但我不知道如何获得Fielddescriptor*扩展.
有一个奇怪的事情,就是extension_count()返回0.虽然我在.proto文件中使用了扩展名.类似地,FindExtensionBy [Name/number]没有按预期工作?
我们目前的项目需求是将一些请求路由到第三方外部api服务器。为此,我们使用基于 spring zuul 的路由器服务。
zuul:
routes
test:
path: /test/**
serviceId: test
url: http://my.api.server.com
test2:
path: /test2/**
serviceId: test2
url: http://my.api.server.com // but through an external proxy
Run Code Online (Sandbox Code Playgroud)
现在的要求是,对于某些端点,对外部 api 服务器的请求已经通过一些外部代理服务器路由,而不是我们拥有的,
如何通过 curl 做到这一点是:
curl <external_api_server>/api/v1/user -k \
-x tntqyhnhjym.sandbox.verygoodproxy.com:8080 \
-H "Content-type: application/json" \
-d '{"card_number": "tok_sandbox_t8VSoovCuHA779eJGZhKvg", ... }'
Run Code Online (Sandbox Code Playgroud)
-x <proxy>通过给定的代理重定向请求。如何通过 spring-zuul 服务器做到这一点?
有一个线索,我得到了吗?https://github.com/spring-cloud/spring-cloud-netflix/issues/2320。不干净,在这个意义上,我需要延长SimpleHostRoutingFilter的zuul
问题:考虑M台机器上n个作业的调度问题,其中每个作业具有处理时间p i,并且如果在时间t完成则给出利润g i(t).所有作业都在时间0释放.所有g i(t)都是非递增函数.为简单起见,我们可以假设机器不是先发制人的.
对于M = 1并且线性递减利润函数.使用贪婪算法可以在O(n)中解决这个问题.但对于一般功能,它是NP完全的.
我对一般情况感兴趣.请给我任何关于问题的论文或资源材料的链接.我在互联网上搜索但没有找到任何有趣的M> 1,尽管之前有关于近似M = 1边界的工作.
请注意,我不希望你解决这个问题,但只需要解决类似问题的先前工作,如果有的话.如果您有任何想法可以提供帮助,请随时分享.
我想知道m机器和n个具有相同发布日期和一般非增加利润函数的作业对此问题的界限.我找到了一份指向这个方向的文章
http://arxiv.org/pdf/1008.4889v1.pdf
当所有作业具有相同的释放时间时,它们给出O(1)近似值.我想找到类似的问题文献以及他们用来解决问题的想法.
问题:我知道琐碎的编辑距离DP公式和O(mn)中的2个大小为n和m的字符串的计算.但我最近才知道,如果我们只需要计算编辑距离f的最小值并且它是有界| f | <= s,那么我们可以用O(min(m,n)+ s ^ 2)计算它或者O(s*min(m,n))[维基百科]时间.
如果这是基于DP或解释算法,请解释它背后的dp配方.
请查看链接improved algorithm部分
: http ://en.wikipedia.org/wiki/Edit_distance.
关于改进的UKKONEN'S算法的另一个链接http://www.berghel.net/publications/asm/asm.php
提前致谢.
c++ algorithm optimization edit-distance dynamic-programming
我的项目中有一个非常简单的 spring webflux 休息端点。
@Bean
public RouterFunction authRoute() {
return RouterFunctions.route(POST("/auth/signin").and(accept(APPLICATION_JSON)), this::signIn)
.andRoute(POST("/auth/signup").and(accept(APPLICATION_JSON)), this::signUp)
.andRoute(POST("/auth/test").and(accept(APPLICATION_JSON)), this::test);
}
Run Code Online (Sandbox Code Playgroud)
端点/auth/test只需回复提供的用户名即可。
public Mono<ServerResponse> test(ServerRequest request) {
System.out.println("Start test ");
Mono<JwtRequest> jwtRequestMono = request.bodyToMono(JwtRequest.class);
jwtRequestMono.subscribe(v -> System.out.println(v.getUsername() + ":" + v.getPassword()));
return jwtRequestMono
.flatMap(j -> ServerResponse.ok().contentType(APPLICATION_JSON).bodyValue(j.getUsername()));
}
Run Code Online (Sandbox Code Playgroud)
我面临的问题是响应正文为空,它应该是用户名。我还验证了当我返回硬编码字符串时,它会通过。当我依赖时它失败了jwtRequestMono.flatMap(...
问题:我们给出了两个数组A和B的整数.现在,在每个步骤中,我们可以从两个数组中删除任何2个非共同素数整数.我们必须找到这些步骤可以删除的最大对数.
界限:
A的长度,B <= 10 5
每个整数<= 10 9
Dinic的算法 - O(V 2 E)
Edmonds-karp算法 - O(VE 2)
Hopcroft-Karp算法 - O(E sqrt(V))
到目前为止我的方法:这可以被建模为具有两个集合A和B的二分匹配问题,并且可以在来自相应集合的每个非共同素数对之间创建边缘.
但问题是图中可能存在O(V 2)边,并且对于如此大的图,大多数二分匹配和最大流算法将是超慢的.
我正在寻找一些特定的问题或数学优化,可以在合理的时间内解决问题.为了通过测试用例,我需要最多O(V log V)或O(V sqrt(V))算法.
提前致谢.
我每天尝试从我的服务器上传视频到我的帐户,但浏览器无法访问。我可以在我的桌面上执行此操作,通过运行下面提到的脚本打开浏览器,请求我的权限并完成上传视频所需的完整授权,然后上传视频。
python upload_video.py --file clips/concatenated.mp4 --title testing --desc empty_dec
/Users/devansh.dalal/Desktop/hackathon/tiktoki/venv/lib/python3.7/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access upload_video.py-oauth2.json: No such file or directory
warnings.warn(_MISSING_FILE_MESSAGE.format(filename))
Your browser has been opened to visit:
https://accounts.google.com/o/oauth2/auth?client_id=73183172161-48495o1tqgjgih3v7j218av2bghdcm30.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube.upload&access_type=offline&response_type=code
If your browser is on a different machine then exit and re-run this
application with the command-line parameter
--noauth_local_webserver
Authentication successful.
Uploading file...
Run Code Online (Sandbox Code Playgroud)
但我想要一个不需要手动授权脚本的解决方案,因为我的服务器是完全安全的。请提出建议?
oauth-2.0 youtube-data-api google-cloud-platform video-upload
我需要QDateTime从格式中获取一个对象"hh:mm:ss".哪个年,月,日应该从当前日期开始?
除了预先yyyy-mm-dd输入字符串之外,是否有人建议任何更清洁的解决方案.
c++ ×5
algorithm ×4
optimization ×3
spring-boot ×3
maximize ×2
proxy ×2
approximate ×1
c++11 ×1
datetime ×1
inheritance ×1
java ×1
matching ×1
mono ×1
netflix-zuul ×1
network-flow ×1
np-complete ×1
oauth-2.0 ×1
qt ×1
video-upload ×1
wiremock ×1